Floor shape deducing device for legged mobile robot

ABSTRACT

A floor shape estimation system for a legged mobile robot, in particular a biped walking robot, which estimates a floor shape, more specifically a foot-to-foot floor inclination difference based on at least a control error of the total floor reaction force&#39;s moment and based on the estimated value and corrects a feet compensating angle based on the estimated value. Further, the system estimates a floor shape, more specifically a foot floor inclination difference based on at least a control error of the foot floor reaction force about a desired foot floor reaction force central point and corrects a foot compensating angle based on the estimated value. With this, it can accurately estimate the shape of a floor with which the robot is in contact. Further, if the floor shape is different from what has been supposed, it can produce the floor reaction force as desired by absorbing the influence of difference.

TECHNICAL FIELD TO WHICH THE INVENTION RELATES

[0001] The present invention relates to a floor shape estimation system of a legged mobile robot, and more specifically to a system for estimating the shape such as inclination of the floor with which a legged mobile robot is in contact and in addition, to a system for enabling to control a floor reaction force based on the estimated floor shape.

BACKGROUND ART OF THE INVENTION

[0002] As floor shape estimation prior art, there are known a technique described in Japanese Laid-Open Patent Application No. Hei 6 (1994)-31658 proposed by the applicant, and another technique mentioned on a paper entitled “Development of a Biped Walking Robot Adapting to an Unknown Uneven Surface” (Journal of the Robotics Society of Japan; Vol. 14, No. 4; May 1996).

[0003] The latter (i.e., that mentioned on the journal) will be summarized in the following and problems thereof will then be discussed.

[0004] In this prior art, the robot foot is configured to have three stories in height comprising an upper-foot plate, a cushioning section and a lower-foot plate (sole). The foot has potentiometers at four corners which detect the angle and the distance between the upper and lower-foot plates, and a clinometer (inclination sensor) which detects the absolute inclination of the upper-foot plate. The foot is also provided with spikes at the four corners.

[0005] In this prior art, when a free leg is landed, the foot is controlled to profile the floor surface based on the information obtained from the potentiometers and the clinometer. With this, the spikes (installed at the four corners) are in contact with the floor such that the lower-foot plate is in parallel with the floor surface. At that instant, the height and the angle of inclination of the floor are estimated through geometric calculation based on the detected absolute position and/or posture of the upper-foot plate obtained by the clinometer and the angle of the upper-foot plate relative to the lower-foot plate and the distance between the upper and lower-foot plates obtained based on the potentiometers.

[0006] However, this prior art technique has the following problems. Specifically, it can not conduct a posture stabilization control to manipulate the floor reaction force until the foot has landed on the floor to profile the floor surface. Further, if a member made of a soft material such as rubber is applied to the foot sole so as to enhance grip, the structure would disadvantageously increase estimation error.

[0007] Further, when the foot does not land on the floor completely, i.e., when the foot does not land with its sole surface-contact with the floor, it can not estimate a floor height correctly during the two-leg supporting period. Further, when the feet are in contact with the floor completely, for example, at the time of holding itself upright, it can not estimate, at the same time, the inclination of a surface with which each foot is in contact and a height difference between the surfaces with which the feet are in contact. Furthermore, since it can only estimate the floor shape at an instant of foot landing, if the floor deforms after landing, it can no longer estimate the deformed shape.

[0008] On the other hand, the former (i.e., that described in 6 (1994)-31658)) can estimate the inclination of floor, while conducting a posture stabilization control to manipulate the floor reaction force. However, during the two-leg supporting period it can only estimate the inclination of a surface that intersects or adjoins the surfaces with which the feet are in contact, whilst during one-leg supporting period it can only estimate the inclination of the surface with which the supporting leg foot is in contact. In other words, this prior art technique can not estimate the inclinations at the same time.

DISCLOSURE OF THE INVENTION

[0009] An object of the present invention is to solve the problem and to provide a floor shape estimation system of a legged mobile robot which can accurately conduct simultaneous floor shape estimation which has been difficult in the prior art, i.e., which can accurately estimate a floor shape, more specifically the inclination of the surface with which the foot is in contact and a height difference between the surfaces with which the feet are in contact, at the same time, in other words in a composite manner.

[0010] Aside from the above, the applicant proposes, in Japanese Laid-Open Patent Application No. Hei 10(1998)-277969, detecting the posture inclination of a legged mobil robot and determining a compensating total floor reaction force's moment about a desired total floor reaction force central point based on the detected posture and inclination, distributing it to each foot such that the position and/or posture of each feet rotates about the desired total foot floor reaction force central point and desired each foot floor reaction force central point by predetermined amounts respectively such that the robot walks with stable posture even on a floor that has not only a widely-spreading slant or undulations, but also has local slants or undulations.

[0011] A second object of the present invention is to provide a floor shape estimation system of a legged mobile robot which can correct a foot trajectory or pattern by the estimated floor shape, whereby enabling to bring a steady-state error of the actual floor reaction force from a desired value in the control, which has not been eliminated in the prior art, close to zero as much as possible, in other words to solve the steady-state error due to a deviation of the floor reaction force.

[0012] In order to achieve the above-mentioned objects, there is provided as defined in claim 1 a system for controlling a legged mobile robot having at least a body and a plurality of legs each connected to the body through a first joint and having a foot connected to its distal end through a second joint, the system having a compliance mechanism which deforms in response to a floor reaction force acting from a floor with which the foot is in contact and joint displacement means which displacing the first and second joints such that the foot follows a desired position and/or posture, comprising: inclination detection means for detecting an inclination of the body relative to a vertical direction; walking environment foot position and/or posture calculating means for calculating a position and/or posture of the foot in a walking environment including the floor with which the foot is in contact, based on an actual and/or desired position and/or posture of the foot and the detected inclination; deformed foot position/posture calculating means for calculating the position and/or posture of the foot with deformation of the mechanism in response to the floor reaction force acting from the floor in the walking environment using a mechanism compliance model which models the compliance mechanism; and floor shape estimation value calculating means for calculating a floor shape estimation value indicative of shape of surface of the floor with which each foot is in contact and indicative of a relationships therebetween. With this, the system can accurately estimate the inclination of the surface with which the foot is in contact and a height difference between the surfaces with which the feet are in contact, at the same time, in other words in a composite manner, that has been difficult in the prior art.

[0013] In the system, the compliance model comprises a first model which expresses the floor reaction force acting on each foot and a change of position and/or posture of each foot resulting from the floor reaction force acting on each foot, and a second model which expresses the floor reaction force acting at a desired total floor reaction force central point and a change of one of the foot relative to the other resulting from the floor reaction force acting at the desired total floor reaction force central point. With this, the system can accurately estimate the inclination of the surface with which the foot is in contact and a height difference between the surfaces with which the feet are in contact with a simpler configuration, at the same time, in other words in a composite manner.

[0014] In the system, the floor shape estimation value calculating means has a filter which removes a high-frequency component. With this, the system can accurately estimate the inclination of the surface with which the foot is in contact and a height difference between the surfaces with which the feet are in contact, at the same time, in other words in a composite manner. And the system can prevent the control system from oscillating.

[0015] The system further includes: correcting means for correcting the desired position and/or posture of the foot based on the calculated floor shape estimation value. With this, in addition to the advantages and effects mentioned above, the system can bring a steady-state error of the actual floor reaction force from a desired value in the control, which has not been eliminated in the prior art, close to zero as much as possible, in other words to solve the steady-state error due to a deviation of the floor reaction force.

[0016] The system further includes: gait generating means for generating a gait of the robot including at least a motion pattern of the robot including at least the desired position and/or posture of the foot and a desired pattern of a total floor reaction force acting on the robot; desired foot floor reaction force central point determining means for determining a desired foot floor reaction force which is a central point of action on the foot when the total floor reaction force of the generated gait is distributed to each of the foot; actual floor reaction force detecting means for detecting an actual floor reaction force acting on the foot; and foot rotation amount determining means for calculating a moment of the detected actual floor reaction force acting about the calculated foot floor reaction force central point, and for determining a foot rotation amount for rotating the foot based on the calculated moment wherein the correcting means includes: foot rotation amount correcting means for correcting the foot rotation amount based on the calculated floor shape estimation value; and foot position/posture correcting means for correcting the desired position and/or posture of the foot based on the corrected foot rotation amount such that the position/posture of the foot rotates. With this, in addition to the advantages and effects mentioned above, the system can control the floor reaction force acting on the floor, without causing a conflict or interference, easily and appropriately.

[0017] The system further includes: gait generating means for generating gait of the robot including at least a motion pattern of the robot including at least the desired position and/or posture of the foot and a desired pattern of a total floor reaction force acting on the robot; desired foot floor reaction force central point determining means for determining a desired foot floor reaction force which is a central point of action on the foot when the total floor reaction force of the generated gait is distributed to each of the foot; actual floor reaction force detecting means for detecting an actual floor reaction force acting on the foot; and foot rotation amount determining means for determining a foot rotation amount for rotating the foot based on the detected actual floor reaction force; wherein the correcting means includes: foot rotation amount correcting means for correcting the foot rotation amount based on the calculated floor shape estimation value; and foot position/posture correcting means for correcting the desired position and/or posture of the foot based on the corrected foot rotation amounts such that the position and/or posture of the foot rotates about the determined foot floor reaction force central point or thereabout. With this, in addition to the advantages and effects mentioned above, the system can control the floor reaction force acting on the floor, without causing a conflict or interference, easily and appropriately.

[0018] In the system, the foot position/posture correcting means corrects the desired position and/or posture of the foot based on the corrected foot rotation amounts such that the position and/or posture of the foot rotates about the determined foot floor reaction force central point or thereabout. With this, in addition to the advantages and effects mentioned above, the system can control the floor reaction force acting on the floor, without causing a conflict or interference, easily and appropriately.

[0019] The system further includes: foot movement amount determining means for calculating at least one of the total floor reaction force's moment actually acting on the robot, and a moment obtained by subtracting the moment of the detected actual floor reaction force acting about the calculated foot floor reaction force central point, from the total floor reaction force's moment actually acting on the robot, and for determining a foot movement amount for moving the foot based on the calculated moment. With this, in addition to the advantages and effects mentioned above, the system can control the total floor reaction force that is significant in particular in a posture stabilization control, more appropriately.

[0020] In the system, the foot position/posture correcting means further corrects the desired position and/or posture of the foot based on an posture error of the robot. With this, in addition to the effects and advantages mentioned above, the system can control the robot posture more stably.

[0021] In the system, a compensating total floor reaction force's moment for posture stabilization that is to be added to the desired pattern of the total floor reaction force is determined, and the foot rotation amount determining means and/or the foot movement amount determining means determines the foot rotation amount and/or the foot movement amount based on at least the detected actual floor reaction force and the determined compensating total floor reaction force's moment for posture stabilization. With this, in addition to the advantages and effects mentioned above, the system can control the floor reaction force more appropriately for the robot posture stabilization.

[0022] In the system, the compensating total floor reaction force's moment for posture stabilization is determined based on an inclination error of the robot. With this, in addition to the advantages and effects mentioned above, the system can further improve the robot posture stabilization.

[0023] In the system, the foot rotation amount determining means and/or the foot movement amount determining means determines the foot rotation amount and/or the foot movement amount such that the determined compensating total floor reaction force's moment for posture stabilization is distributed to each of the legs. With this, in addition to the advantages and effects mentioned above, the system can distribute the load of robot to the plurality of legs appropriately and can prevent the distribution of pressure with the floor from being excessive in a local portion.

[0024] The system further includes: gait generating means for generating gait of the robot including at least a motion pattern of the robot including at least the desired position and/or posture of the foot and a desired trajectory pattern of a total floor reaction force acting on the robot; compensating total floor reaction force calculating means for calculating a compensating total floor reaction force for posture stabilization; actual floor reaction force detecting means for detecting an actual floor reaction force acting on the foot; and floor reaction force distributing means for distributing the total floor reaction force of the generated gait and the compensating total floor reaction force; wherein the correcting means corrects the desired foot position and/or posture based on the distributed total floor reaction force of the generated gait and the compensating total floor reaction force, the detected actual floor reaction force and the calculated floor shape estimation value. With this, in addition to the advantages and effects mentioned above, the system can distribute an amount of foot correction more appropriately, thereby enabling to achieve greater force of restoration and the ability of contact with the floor for the robot posture stabilization.

[0025] In the system, the compensating total floor reaction force for posture stabilization is calculated based on an inclination error of the robot. With this, in addition to the advantages and effects mentioned above, the system can further improve the robot posture stabilization.

BRIEF DESCRIPTION OF THE DRAWINGS

[0026]FIG. 1 is a schematic view showing an overall configuration of a legged mobile robot, more specifically a biped walking robot to which a floor shape estimation system of a legged mobile robot according to an embodiment of the present invention is applied;

[0027]FIG. 2 is an explanatory side view showing the structure of the foot of a biped robot illustrated in FIG. 1;

[0028]FIG. 3 is a block diagram showing details of a control unit of the robot illustrated in FIG. 1;

[0029]FIG. 4 is a block diagram showing the configuration and operation of the control system of a legged mobile robot proposed earlier and the floor shape estimation system of a legged mobile robot according to the embodiment of present invention, in a functional manner;

[0030]FIG. 5 are explanatory views showing one example of the motion pattern of the robot illustrated in FIG. 1 when it walks on a flat floor;

[0031]FIG. 6 is an explanatory plan view showing the trajectory on floor surface of a desired total floor reaction force central point (desired ZMP) corresponding to the motion pattern illustrated in FIG. 5;

[0032]FIG. 7 is a time chart showing the trajectory of the desired total floor reaction force central point (desired ZMP) corresponding to the motion pattern illustrated in FIG. 5;

[0033]FIG. 8 is a time chart showing the trajectory of a desired 1st foot floor reaction force central point, which is set to satisfy predetermined conditions, corresponding to the motion pattern illustrated in FIG. 5;

[0034]FIG. 9 is a time chart showing the trajectory of the desired 2nd foot floor reaction force central point, which is set to satisfy the predetermined conditions, corresponding to the motion pattern illustrated in FIG. 5;

[0035]FIG. 10 is a flow chart showing, similarly to FIG. 4, the operation of a control system of a legged mobile robot according to the present invention;

[0036]FIG. 11 is an explanatory view showing a situation that actual foot floor reaction force acts on each of the 1st foot and the 2nd foot during the two-leg supporting period, for explaining the operation of a composite compliance operation determinator illustrated in FIG. 4 which conducts calculations of a feet compensating angle, etc., referred to in the flow chart of FIG. 10;

[0037]FIG. 12 is an explanatory view showing setting of the desired total floor reaction force in the situation illustrated in FIG. 11;

[0038]FIG. 13 is an explanatory view showing distribution of the desired foot floor reaction force in the situation illustrated in FIG. 11;

[0039]FIG. 14 is an explanatory view showing a compensating total floor reaction force's moment in the situation illustrated in FIG. 11;

[0040]FIG. 15 is an explanatory view showing a vector V which is normal on the plane that includes the foot floor reaction force central point and is perpendicular to the horizontal plane in the situation illustrated in FIG. 11;

[0041]FIG. 16 is an explanatory view showing the desired foot floor reaction force central point rotated about the desired total floor reaction force central point (desired ZMP) by a predetermined angle θdbv in the situation illustrated in FIG. 11;

[0042]FIG. 17 is an explanatory view showing rotation of the feet about the back-and-forth-axis and left-and-right-axis by predetermined angles θnx, θny in the situation illustrated in FIG. 16;

[0043]FIG. 18 is a block diagram showing the calculation of a composite compliance operation determinator illustrated in FIG. 4;

[0044]FIG. 19 is a block diagram showing the calculation of a compensating total floor reaction force's moment distributor illustrated in FIG. 18;

[0045]FIG. 20 is a set of time charts each showing examples of set distribution-weight variables of the compensating total floor reaction force's moment distributor, illustrated in FIG. 18, for manipulating, a feet compensating angle;

[0046]FIG. 21 is an explanatory view showing a robot posture for explaining the setting of the distribution-weight variables of the compensating total floor reaction force's moment distributor illustrated in FIG. 20;

[0047]FIG. 22 is an explanatory view, similar to FIG. 21, also showing a robot posture for explaining setting of the distribution-weight variables of the compensating total floor reaction force's moment distributor;

[0048]FIG. 23 is an explanatory view showing a V-direction-component of the feet compensating moment Mdmddbv when the distributor-weight variables for manipulating the feet compensating angle are determined under a predetermined condition;

[0049]FIG. 24 is a block diagram showing the calculation of a feet compensating angle determinator illustrated in FIG. 18;

[0050]FIG. 25 is a block diagram showing the calculation of a foot compensating angle determinators illustrated in FIG. 18;

[0051]FIG. 26 is an explanatory view showing the calculation of a corrected desired foot position and/or posture with deformation compensation calculator illustrated in FIG. 18;

[0052]FIG. 27 is an explanatory view, similar to FIG. 26, showing the calculation of a corrected desired feet position and/or posture with deformation compensation calculator illustrated in FIG. 18;

[0053]FIG. 28 is a flow chart showing the subroutine for determining the feet compensating angle, etc., referred to in the flow chart of FIG. 10;

[0054]FIG. 29 is an explanatory view, similar to FIG. 16, but showing a modification of a control system proposed earlier and illustrating another example of foot position correction;

[0055]FIG. 30 is a block diagram, similar to FIG. 18, but showing the configuration of the floor shape estimation system of the legged mobile robot according to the embodiment of the present invention;

[0056]FIG. 31 is an explanatory view showing definition of terms which the system illustrated in FIG. 30 uses in floor shape estimation;

[0057]FIG. 32 is an explanatory view also showing definition of terms which the system illustrated in FIG. 30 uses in floor shape estimation;

[0058]FIG. 33 is a block diagram showing the processing of a floor shape estimator in the system illustrated in FIG. 30 in a functional manner;

[0059]FIG. 34 is a block diagram showing the processing of a mechanism compliance model in the floor shape estimator illustrated in FIG. 33 in a functional manner;

[0060]FIG. 35 is a block diagram also showing the processing of the mechanism compliance model in the floor shape estimator illustrated in FIG. 33 in a functional manner;

[0061]FIG. 36 is an explanatory view showing oscillation of foot floor inclination difference estimated value obtained in the embodiment of the present invention;

[0062]FIG. 37 is a flow chart showing the processing of a foot floor inclination difference estimation interrupter according to the embodiment of the present invention;

[0063]FIG. 38 is a time chart showing the processing of FIG. 37;

[0064]FIG. 39 is an explanatory view explaining the processing of FIG. 37;

[0065]FIG. 40 is a flow chart showing the processing of a foot-to-foot floor inclination difference estimation interrupter according to the embodiment of the present invention;

[0066]FIG. 41 is a time chart showing the processing of FIG. 40;

[0067]FIG. 42 is a block diagram, similar to FIG. 30, but showing the configuration of a floor shape estimation system of a legged mobile robot according to a second embodiment of the present invention;

[0068]FIG. 43 is an explanatory view showing definition of terms which are used in the system according to the second embodiment illustrated in FIG. 42;

[0069]FIG. 44 is a block diagram showing the processing of a foot-to-foot floor inclination difference estimator of the system according to the second embodiment;

[0070]FIG. 45 is a block diagram showing the processing of a foot floor inclination difference estimator of the system according to the second embodiment;

[0071]FIG. 46 is an explanatory view showing another example of a sensor to be used in the floor shape estimation system according to the first and second embodiments; and

[0072]FIG. 47 is an explanatory view showing still another example of a sensor to be used in the floor shape estimation system according to the first and second embodiments.

BEST MODES FOR CARRYING OUT THE INVENTION

[0073] The floor shape estimation system of a legged mobile robot according to an embodiment of the present invention will be explained with reference to the accompanied drawings. A biped robot is taken as an example of the legged mobile robot.

[0074]FIG. 1 is a schematic view showing an overall configuration of the legged mobile robot, more specifically a biped robot to which the floor shape estimation system according to the present invention is applied.

[0075] As illustrated in the figure, a biped robot (hereinafter simply referred to “robot”) 1 has a pair of right and left legs (leg links) 2 each composed of six joints. (In a simple representation, each of the joints is represented by an electric motor which actuates the joint.) The six joints include, arranged successively downward, a pair of hip joints 10R, 10L (the right-hand joint is indicated by R and the left-hand joint by L) for rotating legs with respect to hips, a pair of hip joints 12R, 12L in the rolling axis (about an X-axis), a pair of hip joints 14R, 14L in the pitching axis (about a Y-axis), a pair of knee joints 16R, 16L in the pitching axis, a pair of ankle joints 18R, 18L in the pitching axis, and a pair of joints 20R 20L in the rolling axis.

[0076] The robot is provided with feet 22R, 22L underneath of the joints 18R(L) and 20R(L), and a body (trunk) 24 at its top which houses a control unit 26 comprising microcomputers (explained later). In the above, the joints 10R(L), 12R(L), 14R(L) make up the hip joints, the joint 16R(L) makes up the knee joint, and the joints 18R(L), 20R(L) make up the ankle joints. The hip joints and knee joints are connected to each other by thigh links 28R, 28L, and the knee joints and ankle joints are connected to each other by crus or shank links 30R, 30L.

[0077] With the above structure, each of the legs 2 is given six degrees of freedom. When the 6*2=12 joints are driven to suitable angles during walking, a desired motion is imparted to the entire leg structure to cause the robot to walk arbitrarily in a walking environment of three-dimensional (absolute) space. (In the specification, “*” represents multiplication in scalar calculation and outer product in vector calculation.).

[0078] It should be noted that the position and velocity of the body 24 indicate the position and its displacement velocity of a predetermined position of the body 24, specifically a representative position such as the position of the center of gravity of the body 24.

[0079] As shown in FIG. 1, a known force sensor (more precisely, known as the six-axis force and torque sensor) 34 is disposed at a position below each ankle joint for generating a signal indicative of three directional components Fx, Fy, Fz of force and three directional components Mx, My, Mz of torque or moment thereby of the force and outputs a signal indicative of foot landing and the floor reaction force (the load acting from the floor). Moreover, the body 24 has an inclination sensor 36 which generates a signal indicative of tipping or inclination in the frontal plane with respect to a Z-axis (the vertical direction (the direction of gravity)) and its angular velocity (yaw-rate), and also a tilt in the sagittal plane with respect to the Z-axis and its angular velocity. The electric motors of the respective joints are coupled with respective rotary encoders which generate signals indicative of angular displacements of the electric motors.

[0080] As illustrated in FIG. 2, a spring mechanism 38 is installed at a position upward from the foot 22R(L), which constitutes a compliance mechanism 42 together with a sole elastic member 40 attached to the sole of the foot 22R(L). The spring mechanism 38 has a box-like guide member (not shown) connected to the foot 22R(L), and a piston member (not shown) connected to the side of the ankle joint 18R(L), 20R(L) and the force sensor 34 and inserted in the guide member with an elastic member such that it moves in the guide member to a slight extent.

[0081] In the figure, the foot 22R(L) illustrated in thick lines shows the foot which is not subject to the floor reaction force. When subjected to the floor reaction force, the spring mechanism 32 and the sole elastic member 34, which constitute the compliance mechanism 42, deform such that the foot 22R(L) shifts to the position and/or posture illustrated in dashed lines. This configuration is significant not only for decreasing the foot-landing impact, but also for enhancing the control performance. Since this configuration is disclosed in the aforesaid application (Japanese Laid-Open Patent Application No. Hei 5 (1993)-305, 584), no further explanation will be made.

[0082] Although not shown in FIG. 1, a joystick 44 is provided at an appropriate location of the biped robot 1, which enables an operator from the outside to input a request concerning the gait, such as switching from moving forward to turning.

[0083]FIG. 3 is a block diagram which shows the details of the control unit 26, which is comprised of microcomputers. Outputs from the inclination sensor 36, etc., are converted by an A/D converter 50 into digital signals, which are transmitted through a bus 52 to a RAM 54. Output signals from the rotary encoders that are disposed adjacent to the respective electric motors are transmitted through a counter 56 to the RAM 54.

[0084] The control unit 26 includes a first calculator 60 and a second calculator 62 respective of which comprises a CPU. The first calculator 80 estimates the shape of a floor (floor surface) with which the robot 1 is in contact as will be explained later, calculates joint angle displacement commands as will be explained later, and outputs the same to the RAM 54. The second calculator 62 reads the desired command values and the detected joint angles from the RAM 74, and calculates values (manipulated variables) and outputs the same through a D/A converter 86 and servo-amplifiers to the electric motors which drive the respective joints.

[0085] Briefly explaining the floor shape estimation system of a legged mobile robot according to this embodiment, it is an improvement of the technique described in Japanese Laid-Open Patent Application No. Hei 6(1994)-31658 proposed by the applicant. Specifically, the system is a development obtained by expanding the technique described in Japanese Laid-Open Patent Application Hei 6(1994)-31658, based on the technique described in Japanese Laid-Open Patent Application No. Hei 10(1998)-277969 proposed by the applicant earlier.

[0086] More specifically, in the technique proposed by 6 (1994)-31658, based on a control error of the total floor reaction force's moment about a ZMP, a foot-to-foot inclination difference is estimated during the two-leg supporting period to correct a feet compensating angle, whereas a foot floor inclination difference is estimated during the one-leg supporting period to correct a foot compensating angle. (Since the ankle joint angle is corrected in the technique mentioned in 6(1994)-31658, strictly speaking, it is different from the correction of the foot compensating angle. Nevertheless, they are treated as almost the same in this discussion.)

[0087] It should be noted here that the ZMP (Zero Moment Point) is defined as follows: Namely, obtaining the resultant force of the force of inertia and the gravity generated by a motion pattern (trajectory), if the moment, except for the vertical moment component, of the obtained resultant force about a certain point of action on the floor (floor surface) is zero.

[0088] On the contrary, in the floor shape estimation system of a legged mobile robot according to this embodiment, the floor shape, more specifically a foot-to-foot floor inclination difference is estimated based on at least a control error of a total floor reaction force's moment (or a difference obtained by subtracting another control error of foot floor reaction force's moment about a desired foot floor reaction force central point therefrom). Further, in this system, the feet compensating angle is corrected by the estimated value, if needed. Further, in this system, another floor shape, more specifically a foot floor inclination difference is estimated based on at least a control error of the foot floor reaction force's moment about the desired foot floor reaction force central point. Further, in this system, the foot compensating angle is corrected based on the estimated value, if needed. As a result, this system can accurately estimate the foot floor inclination difference during the two-leg supporting period and can correct the foot compensating angle by the estimated value.

[0089] Further, in the estimation of the foot-to-foot floor inclination difference and the foot floor inclination difference, by using a mechanism compliance model which models the compliance mechanism 42 and expresses the relationship of deformation of the leg (leg links) 2 by the floor reaction force, a better control performance can be obtained which would not be achieved in the prior art technique in which the steady-state error is decreased by incorporating integration into a control law. A mere incorporation of an integral value into a control law may result in a phase lag. However, in the system according to the embodiment, similar to a case in which an observer is used, no delay occurs in the control.

[0090] Aside from the above, the prior art technique proposed in 10 (1998)-277969 aims to restore a stable posture by controlling the floor reaction force appropriately, when the robot loses posture stabilization on a floor having an unexpected slant or bump.

[0091] Specifically, if the robot (which is controlled to walk in accordance with a gait that has been generated based on the supposition that a floor on which the robot walks is flat) lands its foot on an unexpected bump, the robot is suffered from an excessive floor reaction force and tilts. In order to solve this problem, the applicant proposed in another technique (described in Japanese Laid-Open Patent Application No. Hei 5 (1993)-305586), using the aforesaid compliance mechanism 42, detecting the inclination of the body by the inclination sensor to calculate a required moment necessary for restoring the tilted posture and controlling each foot to move up and down such that an actual total floor reaction force's moment component about the desired total floor reaction force central point (i.e., the desired ZMP) becomes equal to the required moment.

[0092] However, that control can effectively cope with an unexpected slant or undulation extending over a relatively wide area, but can not cope with an unexpected local slant or level difference sufficiently.

[0093] Further, the applicant proposes in a still another technique (described in Japanese Laid-Open Patent Application No. Hei 5(1993)-305584)) controlling the ankle joints 18R(L), 20R(L) to move in a direction in which the unexpected floor reaction force is canceled, similarly utilizing the aforesaid compliance mechanism 42.

[0094] It would be possible to combine the two kinds of the controls to cope with the situation when the robot loses its stable posture due to an unexpected floor undulation or inclination. Disadvantageously, if doing so, the controls may conflict with each other.

[0095] In order to avoid such a conflict in control, it is proposed in the technique proposed earlier (i.e., 10(1998)-277969) controlling the floor reaction force appropriately when the robot loses a stable posture due to the change in the shape of floor such as a local slant or inclination.

[0096] Since the floor inclination estimation system according to the embodiment is based on the aforesaid technique proposed in 10(1998)-277969, for the ease of understanding, this technique (10-277969) will first be explained. This technique (10(1998)-277969) will hereinafter referred to as a “composite compliance control”.

[0097]FIG. 4 is a block diagram showing the configuration and operation of the system for the composite compliance control in a functional manner.

[0098] Before entering the explanation of the figure, terms used in the composite control will be defined. (Terms not defined in the following are the same as those defined in a separate application (Japanese Patent Application No. Hei 10(1998)-86081) proposed by the applicant.)

[0099] The term “gait” is used to indicate, different from that usually defined in the field of robotics engineering, what includes the desired motion pattern and the floor reaction force pattern. The floor reaction force may be partial information such as “only the ZMP trajectory”. In other words, the term “gait generator” should not be used in the situation when only the desired motion pattern, and not the information concerning the floor reaction force pattern is outputted.

[0100] Each of the feet is assigned with a reference numeral. The floor reaction force acting on n-th leg (n: 1 or 2) is called a “n-th foot floor reaction force”. The resultant force of all of the foot floor reaction forces acting both feet (legs) is called a “total floor reaction force”. (Although, it is simply called the floor reaction force in the field of robotics engineering, it is called the “total floor reaction force” here in order to distinguish from the (n-th) foot floor reaction force.)

[0101] The foot floor reaction force is described by a point of action and the force and the moment of force acting thereat. A combination of descriptions will accordingly be innumerable for a certain floor reaction force. The innumerable combinations of descriptions will surely include the combination of descriptions indicating that the moment components other than that about the vertical axis are zero and the point of action is on the floor. The point of action in this combination of descriptions is called the “foot floor reaction force central point”. (This was called “the center of contact-pressure” in Japanese Laid-Open Patent Application Hei 6 (1994)-79657 proposed by the applicant (referred to later)).

[0102] Similarly, the total floor reaction force is described by a point of action and the force and the moment of force acting thereon. A combination of descriptions will accordingly be innumerable for a given total floor reaction force. The innumerable number of combinations of descriptions will surely include the combination of descriptions indicating that the moment components other than that about the vertical axis are zero and the point of action is on the floor surface. The point of action in this combination of descriptions is called the “total floor reaction force central point”. The “floor surface” in this specification includes a vertical floor described in Japanese Laid-Open Patent Application No. Hei 5(1993-318340).

[0103] A desired value of the total floor reaction force is called the “desired total floor reaction force”. The desired total floor reaction force is the total floor reaction force which normally balances dynamically with the desired motion pattern. Accordingly, the desired total floor reaction force central point is normally equal to the desired ZMP.

[0104] A desired value of the ZMP (Zero Moment Point) is called a “desired ZMP (Zero Moment Point)”. The desired ZMP can solely be determined unless the vertical force component of the resultant force is zero. The term “desired ZMP” is often used in this specification for ease of understanding. However, strictly speaking, the term “desired total floor reaction force central point” should instead be used.

[0105] A desired value of the foot floor reaction force is called “desired foot floor reaction force”. Different from the desired total floor reaction force, the desired foot floor reaction force can not be determined solely even when the desired motion pattern has been determined. Total floor reaction force actually acting on the robot is called an “actual total floor reaction force”. Floor reaction force actually acting on each foot of the robot is called an “actual foot floor reaction force”

[0106] Based on the above, the entire configuration of the composite compliance control system will be explained with reference to FIG. 4.

[0107] The composite compliance control system includes a gait generator 100 which generates the desired gait and outputs the same. As will be understood from the definition mentioned above, the desired gait comprises the desired motion pattern and the desired floor reaction force pattern, more specifically, a desired body position and/or posture trajectory, a desired feet position and/or posture trajectory, a desired total floor reaction force central point (desired ZMP) trajectory and a desired total floor reaction force trajectory (or pattern). Thus, the desired floor reaction force pattern includes the desired total floor reaction force central point trajectory. (It suffices if the desired floor reaction force pattern merely has the desired total floor reaction force central point trajectory, when deformation compensation (mechanism-deformation compensation), explained later, is not involved.)

[0108] In this embodiment, the desired total floor reaction force outputted by the gait generator 100 is the total floor reaction force which dynamically balances with the desired motion pattern. Accordingly, the desired total floor reaction force central point is equal to the desired ZMP.

[0109]FIG. 5 shows one example of motion pattern when the robot 1 walks on a flat floor. FIG. 6 shows the trajectory of the desired ZMP on the floor corresponding thereto, and FIG. 7 shows a time chart corresponding thereto. The foot which is kept in contact with the floor during the illustrated gait period is to be named a “1st foot”, while the other is to be named a “2nd foot”.

[0110] Returning to the explanation of FIG. 4, the system includes a desired floor reaction force distributor 102 which receives the desired total floor reaction force central point (desired ZMP) and the desired feet position and/or posture as main inputs, and determines and outputs the desired foot floor reaction force central point. Practically, if required, it may also input, from the gait generator 100, gait parameters (such as a period of time of two-leg supporting period and desired landing position of free leg foot) or a period of time and time of gait (such as the current time is 0.1 sec. after the beginning of the two-leg supporting period).

[0111] As regards the gait such as illustrated in FIG. 5, the desired floor reaction force distributor 102 determines the desired foot floor reaction force central point such that it satisfies the following conditions:

[0112] Condition 1) The desired foot floor reaction force central point trajectory is continuous.

[0113] Condition 2) During the two-leg supporting period, the desired 1st foot floor reaction force central point exists at its heel, whereas the desired 2nd foot floor reaction force central point exists at its toe.

[0114] Condition 3) The desired total floor reaction force central point exists, at that instant, on a line connecting the desired 1st foot floor reaction force central point and the desired 2nd foot floor reaction force central point.

[0115] Condition 4) During the one-leg supporting period, the desired 1st foot floor reaction force central point is equal to the desired total floor reaction force central point.

[0116] Condition 5) During the one-leg supporting period, the desired 2nd foot floor reaction force central point shifts from the toe to the heel.

[0117]FIG. 8 shows a time chart of the desired 1st foot floor reaction force central point trajectory satisfying these conditions, whilst FIG. 9 shows that of the 2nd foot floor reaction force central point trajectory. In the figures, the origin is defined as the point of foot, more precisely on a sole of the foot, projected from the ankle (joints 18R(L), 20R(L)) onto the sole of the foot 22R(L) at the angle perpendicular to the plane defined by the sole of foot, whilst the positive direction on the X-axis is defined as the direction from the origin towards the front of the foot and along the plane defined by the foot, and the positive direction on the Y-axis is defined as the direction to the left of the foot from the origin as shown in FIG. 1.

[0118] Additionally, the desired floor reaction force distributor determines 102 outputs the desired foot floor reaction force. The desired foot floor reaction force is necessary for the deformation (bent) compensation (mechanism-deformation compensation) of the compliance mechanism 42.

[0119] If the desired foot floor reaction force is determined to be corresponding to the desired foot floor reaction force central point, determined in the manner mentioned above, using the following equation, it will satisfy a condition that the resultant force of all of the desired foot floor reaction forces of the feet must be equal to the desired total floor reaction force.

Desired 1st foot floor reaction force=Desired total floor reaction force*(Distance between the desired 2nd foot floor reaction force central point and the desired ZMP)/(Distance between the desired 1st foot floor reaction force central point and the desired 2nd foot floor reaction force central point)

Desired 2nd foot floor reaction force=Desired total floor reaction force*(Distance between the desired 1st floor floor reaction force central point and the desired ZMP)/(Distance between the desired 1st foot floor reaction force central point and the desired 2nd foot floor reaction force central point)  Eq. 1

[0120] Since the desired foot floor reaction force changes continuously, it is suitable for achieving a walking with small foot-landing impact. The details of the above is described in an application (Japanese Laid-Open Patent Application Hei 6 (1994)-79657) proposed by the applicant.

[0121] Returning to the explanation of FIG. 4, the system includes a posture stabilization controller 104 which estimates the conditions of the robot 1 based on the sensed information of the robot and calculates a compensating total floor reaction force. Explaining this, even if joint displacement can be controlled to effect a desired joint displacement completely by a displacement controller (explained later) when the robot 1 walks or stand upright, the robot position and/or posture will not always be a desirable position and/or posture.

[0122] Accordingly, in order to stabilize posture of the robot 1 over a long period of time, it needs to determine the force and moment necessary for restoring desirable robot position and/or posture, and to additionally generate the determined force and moment at the desired total floor reaction force central point (desired ZMP) as the point of action. The additional force and moment is called a “compensating total floor reaction force”. The moment component of the compensating total floor reaction force is called a “compensating total floor reaction force's moment”.

[0123] Aside from the above, assuming that a desired gait of the legged mobile robot is subject to a reaction force, other than the floor reaction force, from an object in the environment, naming this reaction force “reaction force from object”, for example, the aforesaid definition of the desired ZMP may be extended as follows. That is; obtaining the resultant force of the force of inertia, the gravity and the reaction force from the object generated by the desired motion pattern, if this moment, except for the vertical component, of the obtained resultant force about a certain point of action on the floor surface is zero, the point of action may newly be defined as the “desired ZMP”.

[0124] Assuming that the robot 1 is completely rigid and joint displacement can be controlled to track desired joint displacement perfectly, a perturbative motion of the position and/or posture of entire of the robot due to deformation of the compliance mechanism 42 can be decomposed to the following six degrees of freedom:

[0125] Mode 1) Rotation about the desired total floor reaction force central point (desired ZMP) around the back-and-forth-axis (i.e., tilting in the-left-and-right direction).

[0126] Mode 2) Rotation about the desired total floor reaction force central point (desired ZMP) around the left-and-right-axis (i.e., tilting in the back-and-forth direction).

[0127] Mode 3) Vertical rotation about the desired total floor reaction force central point (desired ZMP) (i.e., spinning).

[0128] Mode 4) Parallel-translational swinging in the back-and-forth direction.

[0129] Mode 5) Parallel-translational swinging in the left-and-right direction.

[0130] Mode 6) Parallel-translational swinging in the vertical direction.

[0131] Among of these modes, the swingings of Mode 4 and Mode 5 occur with the deformation of the compliance mechanism 42 when it suffers from shearing force in the back-and-forth and left-and-right directions. Since the compliance mechanism 42 is prefabricated to have high stiffness in the direction of shearing, this kind of swinging is small, influencing on the walking little.

[0132] Since Mode 3 and Mode 6 do not have direct relationship with this explanation, controls for Mode 1 and Mode 2 will be discussed. The controls for Mode 1 and Mode 2 are quite important, since, but for these controls, the robot may probably tilt.

[0133] The manipulated variable for controlling the rotation of mode 1 is a moment component about the back-and-forth axis (X-axis) of the compensating total floor reaction force. The manipulated variable for controlling the rotation of Mode 2 is the moment component about the left-and-right axis (Y-axis) of the compensating total floor reaction force. Among the moment components of the compensating total floor reaction force, accordingly, it suffices if the moment component about the back-and-forth axis and that about the left-and-right axis are determined. Since the rest of the moment components are not used in this embodiment (and a second embodiment), they are set to zero.

[0134] From now on, the following definitions will be used. The moment component of compensating total floor reaction force is called a “compensating total floor reaction force's moment Mdmd” (more precisely, compensating total floor reaction force's moment Mdmd about the desired total floor reaction force central point (desired ZMP)). As illustrated in FIGS. 5 and 6, a coordinate system taking the X-axis in the robot forwarding direction, the Y-axis in the robot left side direction and the Z-axis in the vertical direction and having the origin which is set at a point on the floor surface immediately below the 1 st foot ankle, is called a “supporting-leg coordinates system”. Unless otherwise determined, the position, the force and the moment are expressed in accordance with this coordinate system. X-component of Mdmd is named a “Mdmdx”, Y-component thereof is named a “Mdmdy” and Z-component thereof is named a “Mdmdz”. X-component of an inclination error θerr of the body 24 (i.e., actual body inclination—desired body inclination) is named “θerrx”, Y-component thereof is named a “θerry”, and their time differentials are named “(d θerrx/dt)” and “(dθerry/dt)”.

[0135] Mdmdx and Mdmdy are determined in accordance with, for example, a control law mentioned in the following equation:

Mdmdx=−Kthx θerrx−Kwx (dθerrx/dt)

Mdmdy=−Kthy θerry−Kwy (dθerry/dt)  Eq. 2

[0136] In the above, Kthx, Kthy, Kwx and Kwy are control gains for body inclination stabilization.

[0137] The composite compliance operation determinator acts such that the actual total floor reaction force becomes equal to the resultant force of the desired total floor reaction force and the compensating total floor reaction force, as will be explained later.

[0138] Returning to the explanation of FIG. 4, the system includes an actual foot floor reaction force detector 108 which detects the actual foot floor reaction force through the output of the force sensor 34. (The resultant force of the sum of the foot floor reaction forces is the actual total floor reaction force.) Moreover, based on the actual joint displacements obtained from the joint rotary encoders (or based on the joint displacement commands), the actual foot floor reaction force detector calculates each foot position and/or posture relative to the coordinate system fixed on the body 24, then conducts coordinate-transformation of the detected values obtained by the force sensor 34 to calculate the actual foot floor reaction force in the coordinate system fixed at the body, and converts the calculated values into those in the supporting leg coordinate system.

[0139] The system includes a robot geometric model (inverse kinematic solution) 110, which, upon receipt of the body position and/or posture and the feet position and/or posture, calculates respective joint displacements satisfying them. Since the degrees of freedom per leg are 6 in the robot 1 in this embodiment, the respective joint displacements are determined solely.

[0140] In this configuration, equations of the inverse kinematic solution are directly prepared beforehand such that the respective joint displacements are immediately obtained if the body position and/or posture and the foot position and/or posture are put in the equations. More specifically, the robot geometric model 10 inputs the desired body position and/or posture and a corrected desired foot position and/or posture trajectory (a corrected desired feet position and/or posture with deformation compensation) corrected by the composite compliance operation determinator, and calculates joint displacement commands for the 12 joints (including 10R(L), etc.).

[0141] The system includes a displacement controller 112 (corresponding to the aforesaid 2nd calculator 62), which controls displacements of the 12 joints of the robot 1 to track or follow the joint displacement commands calculated by the robot geometric model (inverse kinematic solution) 110.

[0142] The system includes the aforesaid composite compliance operation determinator 114, which corrects the desired foot position and/or posture trajectory to satisfy the following two demands:

[0143] Demand 1) In order to control robot position and/or posture, the actual total floor reaction force should be controlled to track the resultant force of the compensating total floor reaction force (i.e., the moment Mdmd) outputted by the posture stabilization controller 104 and the desired total floor reaction force. If only the robot posture inclination should be controlled, the horizontal direction's moment component of the actual total floor reaction force about the desired total floor reaction force central point should solely be controlled to track the compensating total floor reaction force's moment Mdmd.

[0144] Demand 2) In order to ensure the floor-contactability of each foot, the absolute value of the actual foot floor reaction force's moment about the desired foot floor reaction force central point should be decreased as much as possible.

[0145] Incidentally, in most situations, it is physically impossible to bring each of the actual moment of foot floor reaction force about the desired foot floor reaction force central point to be zero, while causing the actual total floor reaction force to be equal to the resultant force of the compensating total floor reaction force and the desired total floor reaction force. It will accordingly be difficult to completely satisfy both Demand 1) and Demand 2), and some compromise should therefore be needed.

[0146] Based on the above, the operation of the system will be explained with reference to the flow chart (structuralized flow chart) of FIG. 10. The left of the flow chart indicates the elements illustrated in FIG. 4 which conduct the procedures corresponding to those mentioned in the steps mentioned at the right of the flow chart.

[0147] The program begins in S10 in which the system is initialized and proceeds, via S12, to S14 in which timer interrupt is waited for. The timer interrupt is executed once every 50 msec. Thus, the control cycle is 50 msec.

[0148] Then, the program proceeds to S16 in which it is determined whether it is at gait switching, more specifically, it is determined whether it is at switching of supporting leg. If the result is negative, the program proceeds to S22. If the result is affirmative, the program proceeds to S18 in which a timer t is initialized, and to S20 in which the desired gait parameters are set. As mentioned above, the gait parameters comprise the motion parameters and the floor reaction force parameters (i.e., the ZMP trajectory parameters).

[0149] The program proceeds to S22 in which instantaneous values of the desired gait are determined. Here, the “instantaneous values” indicate values at each control cycle. The instantaneous values of the desired gait comprise the desired body position and/or posture, the desired foot position and/or posture, and the desired ZMP position. Here, the “posture” indicates “direction or orientation” in the X, Y, Z space or environment.

[0150] The program then proceeds to S24 in which the desired foot floor reaction force central point is determined. This is done in the manner explained with reference the desired floor reaction force distributor. Specifically, this is done by determining the value of the set desired foot floor reaction force central point trajectory at the current time t, as illustrated in FIGS. 8 and 9.

[0151] The program then proceeds to S26 in which the desired foot floor reaction force of each foot is determined. This is done by calculating the desired foot floor reaction force using Eq. 1, mentioned in the explanation of the desired floor reaction force distributor.

[0152] The program then proceeds to S28 in which the conditions of the robot such as the inclination of the body 24 are detected using the outputs of the sensors including the inclination sensor 36.

[0153] The program then proceeds to S30 in which the compensating total floor reaction force's moments Mdmdx, Mdmdy (about the desired total floor reaction force central point (desired ZMP)) for posture stabilization are determined based on the detected conditions, etc. More specifically, the compensating total floor reaction force's moments Mdmdx, Mdmdy are determined in accordance with Eq. 2.

[0154] The program then proceeds to S32 in which the actual foot floor reaction force is detected for each foot. This is done from the output of the force sensor 34, as mentioned above.

[0155] The program then proceeds to S34 in which a feet compensating angle θdbv and a foot compensating angle θnx(y) for each foot are determined. This procedure is done by the aforesaid composite compliance operation determinator 114.

[0156] The procedures to be done by the composite compliance operation determinator 114 will be explained. For ease of explanation, it is assumed that it is in a situation where the actual foot floor reaction force acts respectively on the 1st foot 22R(L) and the 2nd foot 22L(R) in the two-leg supporting period, as illustrated in FIG. 11.

[0157] Here, a vector Fnact indicates a force component of the n-th foot floor reaction force, and a vector Mnact indicates a moment component of the n-th foot floor reaction force. The direction of vector Mnact indicates that the moment acts from the floor to the foot clockwise with respect to the vector direction.

[0158] The desired total floor reaction force at this instant is assumed to be as shown in FIG. 12. Notably, a vector Msumref indicative of a desired total floor reaction force's moment about the desired total floor reaction force central point (desired ZMP) is vertical. (This is because the desired ZMP is a floor surface point at which the horizontal component of desired total floor reaction force's moment is zero from the definition mentioned above.) When the desired total floor reaction force is distributed to or divided into the respective desired foot floor reaction forces in accordance with Eq. 1, the result will be that as shown in FIG. 13. In the figure, a vector Fnref indicates a force component of the desired n-th foot floor reaction force. A vector Mnref indicates the moment component of desired n-th foot floor reaction force. The expression of the direction of vector Mnref is the same as that of Mnact.

[0159] For ease of explanation, it is assumed that the robot is about to turn over backward to the left.

[0160] The aforesaid posture stabilization controller 104 calculates the compensating total floor reaction force's moment Mdmd based on the detected body inclination errors θerrx, θerry of the robot 1. In this embodiment, since the spinning about the vertical axis (Z-axis) is not controlled, the vertical component of the compensating total floor reaction force's moment Mdmd is zero. FIG. 14 shows the compensating total floor reaction force's moment Mdmd for the assumed condition.

[0161] In order to restore the posture, it suffices if the horizontal component of the actual total floor reaction force's moment about the desired total floor reaction force central point (desired ZMP) is controlled to track a horizontal component of the sum of the desired total floor reaction force's moment Msumref and the compensating total floor reaction force's moment Mdmd.

[0162] The horizontal component of desired total floor reaction force's moment Msumref is zero at the desired total floor reaction force central point (desired ZMP). Accordingly, in order to restore the posture inclination in the back-and-force or left-and-right direction, it suffices if the horizontal component of the actual total floor reaction force's moment about the desired ZMP is controlled to track the horizontal component of Mdmd.

[0163] In this embodiment, the composite compliance operation determinator 114 corrects the foot position and/or posture so as to satisfy the following demands (once mentioned in the above) as much as possible:

[0164] Demand 1) In order to conduct stabilization-control of the robot posture inclination, the horizontal components (X-axis and Y-axis) of the actual total floor reaction force's moment about the desired total floor reaction force central point (desired ZMP) should be controlled to track the horizontal components of the compensating total floor reaction force's moment Mdmd.

[0165] Demand 2) In order to ensure the floor-contactability of each foot, the absolute value of the actual foot floor reaction force's moment about the desired foot floor reaction force central point should be decreased as much as possible.

[0166] As mentioned above, it is impossible to satisfy both Demand 1) and Demand 2) and hence, some compromise is needed.

[0167] In this embodiment, the correction of foot position and/or posture is conducted as follows.

[0168] 1) A vector V which is normal on the plane that includes the desired 1st foot floor reaction force central point Q1 and the 2nd foot floor reaction force central point Q2 and that is perpendicular to the horizontal plane, is first determined. The magnitude of the vector V should be 1. FIG. 15 shows the vector V.

[0169] 2) The coordinate of the desired 1st foot floor reaction force central point Q1 is rotated (moved) by a rotational angle θdbv about the desired total floor reaction force central point (desired ZMP) around the normal vector V. The central point after rotation is called “Q1′”. Similarly, the coordinate of the desired 2nd foot floor reaction force central point Q2 is rotated (moved) by the same rotational angle θdbv about the desired total floor reaction force central point (desired ZMP) around the normal vector V. The central point after rotation called “Q2′”.

[0170] This rotational angle θdbv is called the “feet compensating angle”. The vector whose initial point is Q1 and whose terminal point is Q1′, is named a “vector Q1Q1′”. Similarly, a vector whose initial point is Q2 and whose terminal point is Q2′, is named a “vector Q2Q2′”. FIG. 16 shows Q1′ and Q2′.

[0171] 3) Then, the desired 1st foot is parallel-translated (moved up and down) by the vector Q1Q1′, without changing its posture. Similarly, the desired 2nd foot is parallel-translated by the vector Q2Q2′, without changing its posture. FIG. 16 shows each desired foot after movement with thick lines.

[0172] 4) Then, the desired 1st foot is rotated about Q1′, by a rotational angle θ1 x around the back-and-forth axis (X-axis) and by a rotational angle θ1 y around the left-and-right axis (Y-axis). Similarly, the desired 2nd foot is rotated about Q2′, by a rotational angle θ2 x around the back-and-forth axis (X-axis) and by a rotational angle θ2 y around the left-and-right axis (Y-axis). The rotational angle θnx and θny are called an “n-th foot X-compensating angle” and an “n-th foot Y-compensating angle”, respectively. FIG. 17 shows each desired foot after rotation with thick lines.

[0173] If the amount of compensating operation mentioned above is not excessive, the contact-area of foot sole (the foot sole area where the pressure is positive) remains unchanged, although the distribution of pressure of the foot sole may change. If this is the case, the compliance mechanism 42 provided at each foot deforms by an amount proportionate to the amount of compensating operation and generates the actual foot floor reaction force at each foot in response to the amount of deformation. With this, the relationship between the amount of compensating operation and the change in the actual foot floor reaction force generated by the compensating operation will exhibit the following appropriate characteristics:

[0174] Characteristic 1) If only the feet compensating angle θdbv is manipulated to move the desired feet position, the actual foot floor reaction force's force component of the one foot which is moved down, increases, whilst that of the foot which is moved up, decreases. At this time, the actual foot floor reaction force's moment about the corrected desired foot floor reaction force central point changes little.

[0175] Characteristic 2) If only the n-th foot X-compensating angle is manipulated to rotate the n-th foot posture, only the X-component of the actual n-th foot floor reaction force's moment about the desired n-th foot floor reaction force central point changes, but the other floor reaction force components change slightly. Similarly, if only the n-th foot Y-compensating angle is manipulated to rotate the n-th foot posture, only the Y-component of the actual n-th foot floor reaction force's moment about the desired n-th foot floor reaction force central point changes, but the other floor reaction force components change slightly.

[0176] Characteristic 3) When the feet compensating angle θdbv, and the foot X-compensating angle and the foot Y-compensating angle are all manipulated at the same time, the change amounts of actual foot floor reaction force will be the sum of the individual change amounts obtained by respective manipulation.

[0177] It could be stated from the above that characteristics 1) and 2) indicate that the respective manipulation have independence, whilst characteristic 3) indicates that the respective manipulations have linearity.

[0178]FIG. 18 is a block diagram showing the calculation of the composite compliance operation determinator 114. The calculation will be explained with reference to the figure.

[0179] Briefly explaining, a total floor reaction force compensating moment distributor 114 a distributes or divides the compensating total floor reaction force's moment Mdmd. Then, a feet compensating angle determinator 114 b and n-th foot X-compensating and Y-compensating angle determinators 114 c, 114 d, 114 e, 114 f determine the aforesaid compensating angle θdbv and θnx (y) based on the actual foot floor reaction force and the distributed compensating total floor reaction force's moment, etc.

[0180] Then, a corrected desired foot position and/or posture calculator 114 g determines a compensated feet position and/or posture (named as a “corrected desired feet position and/or posture”) through geometric calculation based on these determined compensating angles. Finally, a corrected desired feet position and/or posture with deformation compensation calculator 114 h determines the amount of deformation of the compliance mechanism 42 presumably generated by the desired foot floor reaction force, and further corrects the corrected desired feet position and/or posture to cancel the same.

[0181] To be more specific, the total floor reaction force compensating moment distributor 114 a distributes the compensating total floor reaction force's moment Mdmd to (divides into) a feet compensating moment Mdmddb and foot compensating moments Mdmd1x, y, Mdmd2x, y. The feet compensating moment Mdmddb is a desired value of moment to be generated about the desired total floor reaction force central point (desired ZMP) by the force component of the foot floor reaction force through the manipulation of the feet compensating angle (the amounts of feet up-and-down movement) θdbv.

[0182] The component around the V-direction of the feet compensating moment Mdmddb is expressed as Mdmddbv. The V-direction is the direction of the vector V defined with reference to the explanation of the composite compliance operation determinator. Defining a vector which is perpendicular to V and also the vertical direction, as “U”, a U-direction component Mdmddbu of the feet compensating moment Mdmddb is set to zero. This is because the manipulation of feet compensating angle θdbv can not generate the U-direction moment of floor reaction force.

[0183] Here, since the vertical component of the compensating total floor reaction force's moment Mdmd is zero, the vertical component Mdmddbz of Mdmddb is also set to zero.

[0184] The 1st foot compensating moment Mdmd1 is a moment to be generated about the desired 1st foot floor reaction force central point by manipulating the 1st foot compensating angle θ1 x, θ1 y. The X-component of 1st foot compensating moment Mdmd1 is expressed as Mdmd1x, whilst the Y-component thereof is expressed as Mdmd1y. The 2nd foot compensating moment Mdmd2 is a moment to be generated about the desired 2nd foot floor reaction force central point by manipulating the 2nd foot compensating angles θ2 x, θ2 y. The X-component of 2nd foot compensating moment Mdmd2 is expressed as Mdmd2x, whilst the Y-component thereof is expressed as Mdmd2y.

[0185] The distribution will be carried out, for example, in the manner mentioned below.

Mdmddbv=Wdbx*Mdmdx+Wdby*Mdmdy  Eq. 3

Mdmd1y=W1y*(Mdmdy−Wint*Vy*Mdmddbv)

Mdmd2x=W2x*(Mdmdx−Wint*Vx*Mdmddbv)

Mdmd2y=W2y*(Mdmdy−Wint*Vy*Mdmddbv)  Eq. 4

[0186] In the above, Wdbx, Wdby, W1x, W1y, W2x, W2y and Wint are distribution-weight variables. Vx is a value of the X-component of vector V and Vy is that of Y-component of vector V. Among of the variables, Wint is a variable for canceling the total floor reaction force's moment (generated by the manipulation of the feet compensating angle) by manipulating the foot compensating angles.

[0187]FIG. 19 is a block diagram showing the total floor reaction force compensating moment distributor 114 a which conducts the calculation of Eqs. 3 and 4.

[0188]FIG. 20 shows an example of the distribution-weight variables Wdbx, Wdby, W1x, W1y, W2x, W2y and Wint, during robot walking. The patterns illustrated in FIG. 20 should preferably be set taking the following attentions into account:

[0189] Attention 1) If the feet compensating angle and the foot compensating angle vary discontinuously, the joints experience excessive torque. In order to change the feet compensating angle and the foot compensating angle continuously, the distribution-weight variables should be changed continuously.

[0190] Attention 2) The distribution-weight variables should be determined such that the actual floor reaction force's moment generated by the manipulation of the feet compensating angle and the foot compensating angle, is preferably close to the compensating total floor reaction force's moment Mdmd.

[0191] Moreover, the variables should preferably be set in response to the motion of robot such as being upright, walking, etc. In a situation such as being upright in which the V-direction-components Mdmddbv of the feet compensating moment and the foot compensating moment Mdmd1, Mdmd2 can be faithfully generated in the actual foot floor reaction force, the variable should preferably be set as follows.

[0192] Specifically, in this situation, the variables should be set, satisfying both Eqs. 5 and 6 as much as possible, such that the horizontal component of the actual total floor reaction force's moment about the desired total floor reaction force central point becomes equal to the horizontal component of the compensating total floor reaction force's moment Mdmd (i.e., Demand 1) to the composite compliance operation determinator can be satisfied.

Mdmddbv*Vx+Mdmd1x+Mdmd2x=Mdmdx  Eq. 5

Mdmddbv*Vy+Mdmd1y+Mdmd2y=Mdmdy  Eq. 6

[0193] Substituting Eqs. 5 and 6 into Eqs. 3 and 4 respectively, Eq. 5 is rewritten as Eq. 7, while Eq. 6 is rewritten as Eq. 8. $\begin{matrix} {{{\left( {{{Wdbx}*{Mdmdx}} + {{Wdby}*{Mdmdy}}} \right)*{Vx}} + {{W1x}*\left( {{Mdmdx} - {{Wint}*{Vx}*\left( {{{Wdbx}*{Mdmdx}} + {{Wdby}*{Mdmdy}}} \right)}} \right)} + {{W2x}*\left( {{Mdmdx} - {{Wint}*{Vx}*\left( {{{Wdbx}*{Mdmdx}} + {{Wdby}*{Mdmdy}}} \right)}} \right)}} = {Mdmdx}} & {{Eq}.\quad 7} \\ {{{\left( {{{Wdbx}*{Mdmdx}} + {{Wdby}*{Mdmdy}}} \right)*{Vy}} + {{W1y}*\left( {{Mdmdy} - {{Wint}*{Vy}*\left( {{{Wdbx}*{Mdmdx}} + {{Wdby}*{Mdmdy}}} \right)}} \right)} + {{W2y}*\left( {{Mdmdy} - {{Wint}*{Vy}*\left( {{{Wdbx}*{Mdmdx}} + {{Wdby}*{Mdmdy}}} \right)}} \right)}} = {Mdmdy}} & {E\quad {q.\quad 8}} \end{matrix}$

[0194] In order to always satisfy Eqs. 7 and 8, no matter what values Mdmdx and Mdmdy are, it suffices if Eqs. 9, 10 and 11 are satisfied at the same time.

Wint=1  Eq. 9

W1x+W2x=1  Eq. 10

W1y+W2y=1  Eq. 11

[0195] In the situation mentioned above, thus, it suffices if the variables are determined to satisfy Eqs. 9, 10 and 11 at the same time.

[0196] When the robot is walking, the generated actual total floor reaction force's moment may sometimes be smaller than Mdmddbv, even if the feet position are corrected by manipulating the feet compensating angle θdbv so as to generate Mdmddbv. As shown in FIG. 21, for example, assuming that the robot tilts backward such that the 1st foot has not landed at the beginning of the two-leg supporting period, the actual floor reaction force does not change even if the 1st foot is moved down by θdbv.

[0197] Similarly, the increase of actual floor reaction force's moment may sometimes be smaller than Mdmd2, even if the angle of the 2nd foot is corrected by manipulating the 2nd foot compensating angle θ2 so as to generate Mdmd2. As shown in FIG. 22, for example, assuming that the robot tilts backward at the latter half of the two-leg supporting period, the actual floor reaction force does not change even if the 2nd foot heel is moved down.

[0198] Thus, even when the weight variables are determined to satisfy Eqs. 5 and 6, the increase of the actual floor reaction force generated by the composite compliance control may sometimes be less than the necessary compensating total floor reaction force's moment Mdmd. The values obtained by dividing the left terms of Eqs. 5 and 6 by their respective right terms should accordingly be set to be greater than 1 under the situation where this problem would be likely to occur.

[0199] In FIG. 20 showing an example of setting of the distribution-weight variables during walking, Wint is set to zero such that the manipulation of foot compensating angle can make up for the lack, even when the manipulation of the feet compensating angle θdbv can not generate the actual total floor reaction force's moment in the situation such as illustrated in FIG. 21.

[0200] Advantageously, if the robot tilts backward as illustrated in FIG. 21, since the 2nd foot heel moves down to be easily landed on the floor, the actual total floor reaction forces's moment can easily be generated by manipulating the 2nd foot compensating angle.

[0201] When the robot is not tilting backward, the actual total floor reaction force's moment is generated by the manipulation of the feet compensating angle θdbv, but the 2nd foot heel is not in contact with the floor, the manipulation of 2nd foot compensating angle does not produce the actual total floor reaction force's moment.

[0202] More specifically, the foot compensating angle does not act effectively when the feet compensating angle θdbv acts effectively, whilst the feet compensating angle θdbv does not act effectively when the foot compensating angle acts effectively. The sum of the respective actual total floor reaction force's moments generated by manipulating the feet compensating angle and the foot compensating angle becomes, as a result, almost equal to the compensating total floor reaction force's moment Mdmd.

[0203] Depending on the situation, the sum of the respective actual total floor reaction force's moments generated by manipulating the feet compensating angle and the foot compensating angle may sometimes become greater than the compensating total floor reaction force's moment Mdmd.

[0204] Even if this happens, as Mdmd is a feedback manipulated variable for posture stabilization, it will not bring a serious problem, since, as will often be experienced in every control system, the magnitude variance of Mdmd will cause the open-loop gain in the control system to vary slightly, but the closed-loop characteristics do change little.

[0205] Attention 3) The distribution-weight variables for feet compensating angle, Wdbx, Wdby, should be small (in absolute value) during the one-leg supporting period. This is because to change the feet compensating angle during the one-leg supporting period does only result in a wasteful up-and-down movement of a free foot and does not change the actual foot floor reaction force.

[0206] Attention 4) If the force component of the desired foot floor reaction force is small (in absolute value), the distribution-weight variable for the foot compensating angle of the foot concerned, should be small (in absolute value) so as to ensure the floor-contact-ability of the foot. In particular, if the foot is far from the floor, the absolute value of the distribution-weight variable should be small, since the movement of the foot by the foot compensating angle does not result in the change of the actual floor reaction force of that foot, so as to avoid a wasteful foot movement.

[0207] Attention 5) The direction of the actual total floor reaction force's moment controlled by manipulating the feet compensating angle is ordinarily different from that controlled by manipulating the foot compensating angle.

[0208] For example, the direction of the actual total floor reaction force's moment generated by manipulating the feet compensating angle θdbv is always the V-direction, and it can not generate any component perpendicular to the V-direction. On the contrary, the direction of the actual total floor reaction force's moment generated by manipulating the foot compensating angle is restricted depending on a situation how the foot is in contact with the. floor.

[0209] For example, if the foot is in contact with the floor only by the toe edge or heel edge of the foot 22R(L), no moment can be generated in the direction of the line of the edge. During the two-leg supporting period, taking this characteristic into account, the feet compensating angle and the foot compensating angle should accordingly be manipulated with minimum loss.

[0210] For example, the distribution-weight variables Wdbx, Wdby for manipulating the feet compensating angle should be determined as follows.

[0211] Specifically, defining a vector, as “Wdb”, whose X-component is Wdbx, whose Y-component is Wdby and whose Z-component is zero, Eq. 3 is the inner product of the vector Wdb and Mdmd. It can therefore be said that what is obtained by dissolving Mdmd to a component of the direction of vector Wdb and a component perpendicular thereto and then by extracting only the component of the direction of vector Wdb and by multiplying by the magnitude of vector Wdb, is Mdmddbv calculated in accordance with Eq. 3.

[0212]FIG. 23 shows this Mdmddbv. This indicates that a feedback control system which controls the Wdb-direction component of the actual total floor reaction force's moment is built by manipulating the feet compensating angle. If the Wdb-direction is perpendicular to the vector V, the Wdb-direction component of the actual total floor reaction force's moment will not produce no matter to what extent the feet compensating angle is manipulated, and the feedback control system would accordingly control the feet compensating angle in vain.

[0213] In order to decrease such a wasteful operation, the Wdb-direction should accordingly be equal to the direction of vector V or be brought to be close thereto as much as possible. Moreover, when it is intended to produce the Wdb-direction component of the compensating total floor reaction force's moment, without using the foot compensating angle, but by solely manipulating the feet compensating angle, the inner product of Wdb and V should be determined to be 1. If it is intended to generate a part of the component by the foot compensating angle, the inner product of Wdb and V should be determined to be less than 1.

[0214] Aside from the above, when the lateral width of the foot is small, the X-component of the actual foot floor reaction force's moment generated by manipulating the foot compensating angle will be small. In this case, the magnitude of Wdbx should preferably be set to be larger. With this, although the Wdb-direction and the direction of the vector V become not equal to each other and the fluctuation of the feet compensating angle increases, the stability will be enhanced.

[0215] The processing of the feet compensating angle determinator 114 b will be explained further. FIG. 24 is a block diagram showing the calculation of the feet compensating angle determinator 114 b. The feet compensating angle θdbv is calculated in the manner as illustrated.

[0216] Explaining this with reference to FIG. 24, a moment Mf1f2act, which is generated about the desired total floor reaction force central point P by F1act acting on the desired 1st foot floor reaction force central point Q1 and by F2act acting on the desired 2nd foot floor reaction force central point Q2, is determined in accordance with the following equation:

Mf1f2act=PQ1*F1act+PQ2*F2act  Eq. 12

[0217] In the above, PQ1 is a vector whose initial point is P and whose terminal point is Q1, whilst PQ2 is a vector whose initial point is P and whose terminal point is Q2.

[0218] Instead of Eq. 12, the following equation can be used without introducing any substantial problems:

Mf1f2act=PQ1*F1act+PQ2*F2act+M1act+/M2act  Eq. 12a

[0219] Eq. 12a is an equation which calculates the actual total floor reaction force's moment Msumact acting about the desired total floor reaction force central point. Eq. 12 indicates the difference obtained by subtracting the actual foot floor reaction force's moment acting about the desired foot floor reaction force central point from the actual total floor reaction force's moment acting about the desired total floor reaction force central point.

[0220] Next, a vector V-direction-component Mf1f2actv of Mf1f2act is extracted. This can be obtained in accordance with the following equation which uses the calculation of vector inner product. The vector V is the vector illustrated in FIG. 15 with reference to the aforesaid explanation.

Mf1f2actv=Mf1f2act*V  Eq. 13

[0221] Then, Mf1f2act is filtered through a low-pass filter 114 i to obtain Mf1f2actvfilt.

[0222] Then, the V-direction-component of feet compensating moment Mdmddbv is passed through a filter 114 j for compensation and the filtered result is subtracted from Mf1f2actvfilt to determine a V-direction-component of difference moment Mdiffv.

[0223] The filter 114 j for compensation is a filter for improving the frequency-response characteristic of the transfer function from Mdmddbv to the actual total floor reaction force's moment.

[0224] Then, a feet deformation compensating angle θffdbv for canceling the influence of the deformation of the compliance mechanism 42 on the V-direction-component of feet compensating moment is calculated. This corresponds to the so-called feedforward compensation.

[0225] Specifically, this is done by using a mechanism-compliance model expressing the relationship between the V-direction-component of feet compensating moment Mdmddbv and the amount of deformation, by calculating the angle of deformation of the line connecting the desired 1 st foot floor reaction force central point Q1 and the desired 2nd foot floor reaction force central point Q2, and by inverting the polarity of the angle to determine the same as a feet deformation compensating angle θffdbv.

[0226] The feet deformation compensating angle θffdbv can be approximated using the following equation:

θffdbv=−α*Mdmddbv  Eq. 14

[0227] In the above, α is a predetermined constant.

[0228] Finally, the feet compensating angle θdbv is obtained in accordance with the equation mentioned in the following. In the following, Kdb is a control gain and is normally set to be a positive value.

θdbv=Kdb*Mdiffv+θffdbv  Eq. 15

[0229] The n-th foot compensating angle determinator will be explained. FIG. 25 is a block diagram showing the calculation of a 1st foot X-compensating angle determinator 114 c of the determinator. The 1st foot X-compensating angle determinator calculates the 1st foot X-compensating angle θ1 x in the manner illustrated. Although the illustration is omitted, the 1st foot Y-compensating angle θ1 y, the 2nd foot X-compensating angle θ2 x and the 2nd foot Y-compensating angle θ2 y are calculated similarly. Only the algorithm to determine the 1st foot X-compensating angleθ1 x will be explained here.

[0230] The X-component of the 1st foot floor reaction force's moment M1actx is filtered through a low-pass filter 114 k to obtain M1actfiltx. The X-component of the 1st foot compensating moment Mdmd1x is passed through a filter 114 m for compensation and the filtered result is subtracted from M1actfiltx to obtain a difference moment Mdiff1x. Similarly to the case of feet compensating angle determination, the filter 114 m for compensation is a filter for improving the frequency-response characteristic of the transfer function from Mdmd1x to the actual floor reaction force.

[0231] Then, similarly to the case of feet compensating angle determination, a 1st foot X-deformation compensating angle θff1 x for canceling the influence of the deformation of the compliance mechanism 42 on the X-component of 1st foot compensating moment, is determined. This is the so-called “feedforward compensation”.

[0232] Specifically, this is done by using a mechanism-compliance model describing the relationship between the X-direction component of 1st foot compensating moment Mdmd1x and the amount of deformation, by calculating the angle of deformation of the 1st foot, and by inverting the polarity of the angle to determine the same as a feet deformation compensating angle θff1 x.

[0233] The feet deformation compensating angle θff1 x can be approximated using the following equation:

θff 1 x=−α1 x*Mdmd1x  Eq. 16

[0234] In the above, α1 x is a predetermined constant.

[0235] Finally, the 1st foot X-compensating angle θ1 x is obtained in accordance with the following equation. In the below, K1x is a control gain and is normally set to be a positive value.

θ1 x=K1x*Mdiff1x+θff 1 x  Eq. 17

[0236] Any equivalent alteration such as altering the order of calculation may be made on the block diagrams illustrated.

[0237] Returning to the explanation of FIG. 18 and continuing the explanation thereon, the corrected desired feet position and/or posture calculator 114 g corrects the desired feet position and/or posture, in accordance with the feet position and/or posture correction which is a development of the aforesaid composite compliance operation, based on the aforesaid feet compensating angle θdbv, the 1st foot X-compensating angle θ1 x, the 1st foot Y-compensating angle θ1 y, the 2nd foot X-compensating angle θ2 x and the 2nd foot Y-compensating angle θ2 y to determine the corrected desired feet position and/or posture.

[0238] A deformation amount calculator 114 n calculates the amount of deformation of the compliance mechanism 42 which is expected to be generated by the desired foot floor reaction force.

[0239] The corrected desired feet position and/or posture with deformation compensation calculator 114 h further corrects the corrected desired feet position and/or posture so as to cancel the calculated amount of deformation, and determines the corrected desired feet position and/or posture with deformation compensation.

[0240] For example, when the amount of deformation such as shown in FIG. 26 is calculated, the corrected desired feet position and/or posture with deformation compensation is determined to be the position and/or posture as illustrated in FIG. 27 in thick lines. In other words, the calculator calculates the corrected desired feet position and/or posture with deformation compensation such that the position and/or posture of the deformation-compensated foot (illustrated in FIG. 27) after having deformed by the desired foot floor reaction force, becomes equal to the foot position and/or posture before deformation compensation when no floor reaction force is acting (illustrated in FIG. 26).

[0241] The deformation compensation is a control which cancels a deviation of the actual foot position and/or posture caused by the deformation of the compliance mechanism 42 in a feedforward manner, thereby enabling to effect a walking which is closer to the desired gait when compared to a system without this deformation compensation control.

[0242] Based on the above, again returning to the explanation of the flow chart of FIG. 10, the aforesaid compensating angles are determined in S34.

[0243]FIG. 28 is a flow chart showing the subroutine of this determination.

[0244] Explaining this with reference to the figure, the program begins in S100 in which the aforesaid vector V is calculated and proceeds to S102 in which the distribution-weight variables at the current time t are calculated based on the set characteristics shown in FIG. 20. The program then proceeds to S104 in which the compensating total floor reaction force's moment Mdmd is distributed to, or divided into the feet compensating moment Mdmddbv and the foot compensating moment Mdmdnx(y) according to Eqs. 3 and 4, to S106 in which the feet compensating angle θdbv is determined in the manner mentioned above. And, the program proceeds to S108 in which the foot compensating angle θnx(y) is determined.

[0245] Returning to the flow chart of FIG. 10, the program then proceeds to S36 in which the amount of deformation compensation is calculated based on the desired foot floor reaction force, to S38 in which the desired feet position and/or posture is corrected based on the compensating angle θdbv, θnx(y) and the amount of deformation compensation to determine the corrected feet position and/or posture with deformation compensation.

[0246] The program then proceeds to S40 in which the joint displacement commands are calculated based on the body position and posture and the corrected desired feet position and/or posture with deformation compensation, to S42 in which the actual joint displacements are servo-controlled based on the calculated joint displacement commands, to S44 in which the time is updated by Δt, and returns to S14 to repeat these procedures.

[0247] With the configuration mentioned above, it can be summarized that almost no interference between the actual total floor reaction force control and the actual foot floor reaction force control occurs, thereby enabling to facilitate control of the actual total floor reaction force and the actual foot floor reaction force.

[0248] To be specific, the composite compliance control has the following improvements over the technique proposed earlier. That is, in the ankle-compliance control proposed in 5(1993)-305584, the actual floor reaction force's moment acting on a fixed point at the foot such as the ankle or a reference sole point is detected and the foot is rotated about the point in response to the detected moment. In the composite compliance control system, the actual foot floor reaction force's moment acting on the moving desired foot floor reaction force central point is calculated, and the control is modified in such a manner that the foot is rotated about the desired foot floor reaction force central point in response to the calculated moment such that the moment about the point becomes a desirable value.

[0249] As a result, it becomes possible to easily control the actual total floor reaction force and the actual foot floor reaction force, with almost no interference therebetween. In order to further minimize the interference, it is alternatively possible to select the point of action at a more appropriate location within the floor-contact sole region at every instant.

[0250] Further, it becomes possible to control the floor reaction force acting on the robot, i.e., actual total floor reaction force's moment about the desired total floor reaction force central point (desired ZMP) and actual foot floor reaction force's moment about the desired foot floor reaction force central point, easily and appropriately. In other words, when compared to a case where the two kinds of controls are combined, no control conflict exists, and the actual total floor reaction force and the actual foot floor reaction force do not deviate from desired values or do not diverge.

[0251] Accordingly, the system can appropriately control the floor reaction force acting on the robot, even when the robot walks on the floor having not only a slant or undulation extending over a relatively long distance, but also on an unexpected local slant or level difference, without being affected thereby.

[0252] Further, the system can effect the posture stabilization control of the legged mobile robot easily and can decrease the impact that the robot receives at foot landing, thereby improving the ability of the robot to contact or touch the floor and preventing it from slipping or spinning. In addition, it can mitigate the load of the actuators of the robot.

[0253] In the former control disclosed in 5(1993)-305586, the moment component of the actual total floor reaction force (resultant force of the foot floor reaction forces) about the desired total floor reaction force central point (desired ZMP) is detected and the control is conducted such that the detected value becomes a desired value. On the contrary, in the composite compliance control system, the moment (about the desired total floor reaction force central point (desired ZMP)) generated by the resultant force of the translational forces, except for the moment components, of the foot floor reaction force acting about the desired foot floor reaction force central point) is detected and the control is controlled such that the detected value becomes a desired value. (However, the former control may instead be used.)

[0254]FIG. 29 is a view, similar to FIG. 16, but showing a modification of the composite compliance control.

[0255] In this modification, the compensating motion is simplified, but has the same effect as that mentioned in the above. Specifically, as the method to correct the foot position to manipulate the force component of the floor reaction force of each foot, instead of the method illustrated in FIG. 16, the foot is moved only in the vertical direction as illustrated in FIG. 29. The vertical-moving amount Z1 of the 1st foot and that Z2 of the 2nd foot are calculated in accordance with the following equation:

Z1−line PQ1's distance*θdbv

Z2=line PQ2's distance*θdbv  Eq. 18

[0256] In the equation, the value obtained by Eq. 15 is used as the value θdbv.

[0257] Based on the foregoing, the floor shape estimation system according to the embodiment of the invention will be explained.

[0258] The configuration of the floor shape estimation system according to the embodiment is almost the same as that of the composite compliance control system illustrated in FIG. 4, more specifically that illustrated in FIG. 18. However, as shown in FIG. 30, the composite compliance operation determinator partly illustrated by its compensating total floor reaction force's moment distributor 114 a is different from that disclosed in FIG. 18, and the determinator is additionally provided with a floor shape estimator 130 and adders 132 (i.e., 132 a, 132 b) that add the floor shape estimated value (outputted from the floor shape estimator 130) to the respective compensating angles.

[0259] Before entering the explanation of the figure, the concepts and terms that the floor shape estimator 130 uses in the estimation will be defined as follows.

[0260] As illustrated in FIG. 31, a floor supposed in the desired gait is called a “supposed floor (or supposed floor surface)”. An actual floor on which the robot walks is called an “actual floor”. A difference or deviation of the actual floor shape relative to the supposed floor shape is called a “floor shape difference”.

[0261] The desired n-th foot floor reaction force central point Qn in the composite compliance control is defined as a point set at the sole (contact surface with the floor surface) of the n-th foot. Consequently, the desired n-th foot floor reaction force central point Qn moves with the foot 22R(L). In line therewith, a point (on the supposed floor) which is supposed to be in contact with the desired n-th foot floor reaction force central point Qn is called a “supposed n-th floor contact point Dn”.

[0262] As will be understood from the definition, in a period of time during which the n-th foot is in contact with the floor, the desired n-th foot floor reaction force central point Qn and the supposed n-th floor contact point Dn are in the same coordinate, when viewed from the supporting leg's coordinate system. On the other hand, in a period during which the robot 1 actually walks, a point at which a point on the actual n-th foot's sole (corresponding to the desired foot floor reaction force central point Qn) is in contact with the actual floor is called as a “actual n-th floor contact point Dnact”.

[0263]FIG. 31 shows an example of the relationship between these points. The figure is a side view of the robot 1 showing that walks towards the normal direction (same as the direction of vector V in the composite compliance control) of the vertical plane which passes the desired 1st foot floor reaction force central point Q1 and the desired 2nd foot floor reaction force central point Q2.

[0264] The desired posture (desired gait's posture at this instant) of the robot 1 and the cross section of the supposed floor in the vertical plane are shown by thin lines, whereas the actual foot position and/or posture of the robot 1 and the cross section of the actual floor in the vertical plane are shown by thick lines. The actual n-th floor contact point at this situation is a point on the actual floor surface and its position is that shown in FIG. 31.

[0265] Further, as an index for expressing the floor shape difference quantitatively, foot-to-foot floor height difference error, foot-to-foot floor inclination difference and foot floor inclination difference are defined as follows.

[0266] Specifically, a difference between a height of the 2nd floor contact point and that of the 1st floor contact point is called a “foot-to-foot floor height difference”. This is calculated as follows.

Foot-to-foot floor height difference=2nd floor contact point's height−1st floor contact point's height  Eq. 19

[0267] The error between an actual foot-to-foot floor height difference and a supposed foot-to-foot floor height difference is called the “foot-to-foot floor height difference error”. The inclination of a line whose initial point is the 1st floor contact point and whose terminal point is the 2nd floor contact point is called a “foot-to-foot floor inclination”. This is calculated as follows:

Foot-to-foot floor inclination=atan((2nd floor contact point's height−1st floor contact point's height)/(horizontal distance between second floor contact point and 1st floor contact point))  Eq. 20

[0268] In the above, “atan” in the equation indicates the inverse function of tangent in the trigonometric function.

[0269] The difference between the actual foot-to-foot floor inclination and the supposed foot-to-foot floor inclination is called the “foot-to-foot floor inclination difference”. FIG. 31 shows this. In the illustrated situation, the foot-to-foot floor inclination difference is positive. The inclination of floor surface at the n-th floor contact point is called an “n-th foot floor inclination”.

[0270] The difference between the actual n-th foot floor inclination and the supposed n-th foot floor inclination is called the “n-th foot floor inclination difference”. FIG. 32 shows this. In FIG. 32, the robot 1 is viewed from the back The desired posture (desired gait's posture at this instant) of the robot 1 and the cross section of the supposed floor in the vertical plane are shown by thin lines, and the actual foot position and/or posture of the robot 1 and the cross section of the actual floor in the vertical plane are shown by thick lines. The 1st foot floor inclination difference is negative in the illustrated example.

[0271] The foot-to-foot floor inclination and the foot-to-foot floor inclination difference are expressed by angles rotated about the aforesaid vector's V-direction. The n-th foot floor inclination and the n-th foot floor inclination difference are expressed by angles rotated in the X and Y directions.

[0272] The foot-to-foot floor inclination difference, the n-th foot floor inclination difference and the compensating angles in the composite compliance control have the following relationships thereamong. That is, the foot-to-foot floor inclination difference is, in the two-leg supporting period, corresponding to the feet compensating angle necessary for changing a line (connecting the desired 1st foot floor reaction force central point Q1 and the desired 2nd foot floor reaction force central point Q2 of the robot 1 that walks as required by the desired gait) from a situation where it extends in parallel with the desired floor surface, to a situation where it extends in parallel with the actual floor surface

[0273] Further, the n-th foot floor inclination difference is corresponding to the n-th foot compensating angle necessary for changing the n-th foot (of the robot that walks as required by the desired gait) from a situation where it is in parallel with the desired floor (floor surface) to a situation where it is in parallel with the actual floor surface.

[0274] Accordingly, when the foot-to-foot floor inclination difference is estimated during walking and when the estimated value of the foot-to-foot floor inclination difference is added to the feet compensating angle, the actual total floor reaction force will be the same as that when the robot walks on the supposed floor, even if the foot-to-foot inclination difference exists. Moreover, when the n-th foot floor inclination difference is estimated during walking and when the estimated value of the n-th foot floor inclination difference is added to the n-th foot compensating angle, the actual n-th foot floor reaction force will be the same as that when the robot walks on the supposed floor, even if the n-th foot floor inclination difference exists.

[0275] It should be noted that, when the modification of the composite compliance control where the feet are moved only in the vertical direction is used, instead of an estimated value of the foot-to-foot floor inclination difference, it suffices if an estimated value of the foot-to-foot floor height difference error is used. Since there is no substantial difference therebetween, the explanation will be made only for the case where the estimated value of the foot-to-foot inclination difference is used.

[0276] In the configuration illustrated in FIG. 30, inputs to the floor shape estimator 130 will be classified as follows.

[0277] 1) various desired floor reaction force central points (i.e., the desired total floor reaction force central point and the desired n-th foot floor reaction force central point);

[0278] 2) supposed floor surface shapes (coordinates of the supposed n-th floor contact point and the supposed n-th foot floor inclination);

[0279] 3) desired posture to which the actual robot should finally follow (corrected desired foot position and/or posture with deformation compensation), or the actual joint displacements or their average with a frequency weight;

[0280] 4) body inclination error;

[0281] 5) actual floor reaction force (force component and moment component of the actual n-th foot floor reaction force).

[0282] When the parameters illustrated in FIG. 30 are really used as the inputs to the floor shape estimator 130, the estimation accuracy is maximized. However, other parameters may instead be used as discussed in a second embodiment of the invention.

[0283]FIG. 33 is a block diagram showing the processing of the floor shape estimator 130.

[0284] Explaining elements constituting the floor shape estimator 130 illustrated in FIG. 33, it includes a mechanism compliance model 134.

[0285] The mechanism compliance model 134 calculates the amount of deformation of the compliance mechanism 42 when the input to the robot geometric model 110 (illustrated in FIG. 4), i.e., the corrected desired foot position and/or posture with deformation compensation is subject to the actual floor reaction force, and determines estimated foot position and/or posture after mechanism deformation by adding the calculated amount of deformation to the corrected desired foot position and/or posture with deformation compensation. The estimated foot position and/or posture after mechanism deformation is expressed by a position and/or posture relative to the body 24.

[0286] When the delay in the robot joint displacement control can not be neglected, as illustrated in FIG. 34, it suffices if the corrected desired foot position and/or posture with deformation compensation is inputted to the mechanism compliance model 134 via a low-pass filter 136 having a characteristic corresponding to the delay.

[0287] Alternatively, as illustrated in FIG. 35, it suffices if the actual foot position and/or posture without deformation is calculated by a robot geometric model 137 (model similar to the model 110 illustrated in FIG. 4) from the actual joint displacements and, instead of the corrected desired foot position and/or posture with deformation compensation, the calculated value is inputted to the compliance model 134.

[0288] Alternatively, it suffices if a weighted average of the actual foot position and/or posture without deformation and the corrected desired foot position and/or posture with deformation compensation is calculated using the frequency weight and, instead of the corrected desired foot position and/or posture with deformation compensation, the weighted average is inputted to the mechanism compliance model 134.

[0289] Strictly speaking, the actual foot position and/or posture without deformation compensation should be used. However, if the joint displacement control is effectively conducted, any of the method mentioned above can be used.

[0290] Further, when the input to the robot geometric model 110 does not include the value with deformation compensation, it suffices if the corrected desired foot position and/or posture without deformation compensation is inputted to the robot geometric model 134.

[0291] Returning to the explanation of FIG. 33, the floor shape estimator 130 has a foot-to-foot floor inclination difference estimator 138. Specifically, in the figure, blocks for estimating the foot-to-foot floor inclination difference from the estimated foot position and/or posture after the mechanism has deformed, a coordinate of the desired foot floor reaction force central point relative to the desired foot, the supposed floor contact points and the body inclination error are called the “foot-to-foot floor inclination difference estimator”. The processing of this estimator will be explained in the following.

[0292] First, the estimator calculates a coordinate of the desired foot floor reaction force central point after mechanism deformation Qn″ from the estimated foot position and/or posture after mechanism deformation and the coordinate of the desired foot floor reaction force central point Qn relative to the desired foot. The desired foot floor reaction force central point after mechanism deformation Qn″ is expressed as a position relative to the actual body.

[0293] More specifically, the desired n-th foot floor reaction force central point after mechanism deformation Qn″ is calculated from the following equation, when the position of the desired n-th foot floor reaction force central point Qn relative to the foot is expressed by a vector Rn, the estimated n-th foot position after mechanism deformation is expressed by a vector Un and the estimated n-th foot posture after mechanism deformation is expressed by a matrix An.

Qn″=AnRn+Un  Eq. 21

[0294] Next, the estimator calculates an inclination θfdbv″ about the vector V of a vector Q1″Q2″ (whose initial point is Q1″ and terminal point is Q2″) relative to the actual body. The vector V is the vector defined in the composite compliance control.

[0295] And, the estimator also calculates an inclination θfdbv about the vector V of a vector D1D2 (whose initial point is D1 and whose terminal point is D2) relative to the desired body, from the coordinate of the supposed n-th floor contact point Dn relative the desired body.

[0296] Here, the supposed n-th floor contact point Dn is the same as the desired n-th foot floor reaction force central point Qn in a period during which the n-th foot is in contact with the floor, as defined above. At a time immediately before the n-th foot lands in the desired gait, the supposed n-th floor contact point Dn is set at the desired n-th foot floor reaction force central point Qn supposed at the foot landing. At a time immediately after the n-th foot is lifted in the desired gait, the supposed n-th floor contact point Dn is set at the desired n-th foot floor reaction force central point Qn supposed at the foot lifting

[0297] Next, the estimator calculates an inclination about the vector V of the vector Q1″Q2″ (whose initial point is Q1″ and whose terminal point is Q2″) relative to the desired body by adding an V-direction component of the body inclination error θerrv to the aforesaid inclination θfdbv″, and obtains a V-direction instantaneous foot-to-foot floor inclination difference calculation value θfdberrrv by subtracting θfdbv from the calculated inclination.

[0298] Next, the estimator obtains θfdberrdiffv by subtracting an estimated foot-to-foot floor inclination difference (just obtained) θfdbestmv from θfdberrrv.

[0299] Then, in the estimator, a foot-to-foot floor inclination difference estimation interrupter 140 determines whether the foot-to-foot floor inclination difference estimation should be conducted or interrupted.

[0300] The foot-to-foot floor inclination difference estimation interrupter 140 immediately outputs the aforesaid value θfdberrdiffv inputted thereto when it determines that the foot-to-foot floor inclination difference estimation should be conducted (continued), whereas it outputs 0 when it determines that the estimation should be interrupted. The details of the foot-to-foot floor inclination estimation interrupter 140 will be explained later.

[0301] Next, the estimator calculates the estimated foot-to-foot floor inclination difference θfdbestmv by integrating the output of the foot-to-foot floor inclination difference estimation interrupter 140 at an integrator 142 by an integration constant Kdbestm. The estimated foot-to-foot floor inclination difference θfdbestmv is an estimated value of the foot-to-foot floor inclination difference illustrated in FIG. 31 and is expressed as an angle about V. The above is processed by the foot-to-foot floor inclination difference estimator 138.

[0302] As illustrated in FIG. 30, the estimated foot-to-foot floor inclination difference θfdbestmv is added to the feet compensating angle θdbv, and the sum is inputted to the corrected desired foot position and/or posture calculator 114 g as a feet compensating angle with floor shape estimation θdbv′.

[0303] By repeating the processing mentioned above, the estimated foot-to-foot floor inclination difference θfdbestmv converges to the actual foot-to-foot floor inclination difference. The foot position and/or posture is corrected by the estimated foot-to-foot floor inclination difference θfdbestmv such that the influence of the foot-to-foot floor inclination difference upon the actual floor reaction force is absorbed.

[0304] In the above, when the feet are, in fact, on the floor, the aforesaid Qn″ must be equal to the actual n-th floor contact point Dnact illustrated in FIG. 31. Accordingly, a difference θfdberrv between the inclination of the vector Q1″Q2″ and that of the vector D1D2 must be equal to the foot-to-foot floor inclination difference illustrated in FIG. 31.

[0305] However, due to a vibration in mechanical or control system of the robot 1 and an electric noise, the value θfdberrv (obtained from the calculation algorithm mentioned above), in fact, deviates or fluctuates markedly around the actual foot-to-foot floor inclination difference. For that reason, if the value θfdberrv is immediately used as the estimated value of the foot-to-foot floor inclination difference and is added to the feet compensating angle as illustrated in FIG. 30, the foot 22R(L) of the robot 1 may oscillate or vibrate hard.

[0306] However, if the foot-to-foot floor inclination difference estimation interrupter 140 (illustrated in FIG. 33) determines all the time that the estimation should be conducted or continued, the transfer function of portions from θfdberrv to the estimated foot-to-foot floor inclination difference θfdbestmv will be the same as the characteristic of a low-pass filter with first-order lag. In other words, the estimated foot-to-foot floor inclination difference θfdbestmv will be the same as the value obtained by passing θfdberrv through the low-pass filter. As a result, if the estimated foot-to-foot floor inclination difference θfdbestmv is added to the feet compensating angle as illustrated in FIG. 30, the oscillation or vibration of the foot 22R(L) is unlikely to occur.

[0307] Incidentally, in the illustrated example, the time constant of the low-pass filter is 1/Kdbestm. Other example than that illustrated in FIG. 33, the configuration can be modified provided that the transfer function of portions from θfdberrv to the estimated foot-to-foot floor inclination difference θfdbestmv becomes equal to the low-pass filter. With this, it becomes possible to prevent the foot 22R(L) from oscillating or vibrating.

[0308] The characteristic features of the foot-to-foot floor inclination estimator 138 will then be explained.

[0309] In order to generate the compensating moment's V-direction component Mdmddbv necessary for posture stabilization control, if the feet compensating angle θdbv (illustrated in FIG. 30) is changed to vary the corrected desired foot position and/or posture with deformation compensation (which is the finally desired foot position and/or posture), insofar as the feet are perfectly in contact with the floor, the actual position of the desired foot floor reaction force central point after mechanism deformation Qn″ is at to the actual n-th floor contact point Dnact and remains unchanged. Rather, the compliance mechanism 42 deforms or the position and/or posture of the body 24 changes. In other words, the compliance mechanism 42 deforms or the position and/or posture of the body 24 changes such that the change of the corrected desired foot position and/or posture with deformation compensation is canceled.

[0310] In the foot-to-foot floor inclination difference estimator 138 in this embodiment, since the amount of mechanism deformation (calculated by the mechanism compliance model 134 based on the actual floor reaction force) and the actual body posture inclination error obtained from the output of the inclination sensor 36 are added at a point before the estimated foot-to-foot floor inclination difference θfdbestmv is calculated based on the corrected desired foot position and/or posture with deformation compensation, even if the corrected desired foot position and/or posture with deformation compensation fluctuates, the estimated foot-to-foot floor inclination difference θfdbestmv is free from the fluctuation.

[0311] This indicates that the posture control and the foot-to-foot floor inclination difference estimation are configured such that they do not conflict with each other. Accordingly, if the estimated foot-to-foot floor inclination difference θfdbestmv is added to the feet compensating angle as illustrated in FIG. 30, the margin of control stability (i.e., unlikeness of oscillation) is not degraded. This is an advantages over the aforesaid prior art mentioned on the Journal of the Robotics Society of Japan.

[0312] Further, when the estimated foot-to-foot floor inclination difference θfdbestmv is added to the feet compensating angle as illustrated in FIG. 30, since the influence of the foot-to-foot floor inclination difference, if it exists, can be canceled, the actual total floor reaction force will be the same as a case where the robot walks on the supposed floor in a steady-state manner. In addition, since the estimation of the foot-to-foot floor inclination difference and the correction of the compensating angle are conducted at every control cycle, even if the floor shape is being changed during the estimation, the system can surely estimate the foot-to-foot floor inclination difference after change and cancel the influence by the estimated value.

[0313] It should be noted here that, since the foot-to-foot floor inclination estimator 138 includes the low-pass filter as mentioned above, if the floor shape has changed at the time of foot landing or thereafter, the actual total floor reaction force is temporarily affected by the foot-to-foot floor inclination difference. However, the influence will then be attenuated by the time constant 1/Kdbestm.

[0314] As illustrated in FIG. 33, the floor shape estimator 130 has a foot floor inclination difference estimator 144. Specifically, in the figure, blocks for estimating the 1st foot floor inclination difference's X-component from the estimated 1st foot position and/or posture after mechanism deformation, the supposed 1st foot floor inclination and the body inclination difference's X-component are called the foot floor inclination difference estimator”, more specifically, a “1st foot floor inclination difference's X-component estimator”. The processing of the estimator will be explained in the following.

[0315] First, the estimator calculates an X-component of inclination of the estimated 1st foot position and/or posture after mechanism deformation (relative to the supposed 1st foot floor inclination) θf1 errx″ based on the estimated 1st foot position and/or posture after mechanism deformation and the supposed 1st foot floor inclination. This corresponds to a sum obtained by adding the bending angle (illustrated in FIG. 2) estimated from the actual floor reaction force, to a difference between the desired 1st foot posture inclination and the supposed 1st foot floor inclination. Only a Y-component thereof is illustrated in FIG. 2.

[0316] Next, the estimator calculates an instantaneous 1st foot floor inclination difference's X-component θf1 errx by adding the body inclination difference's X-direction component θerrx to the aforesaid value θf1 errx″

[0317] Next, the estimator obtains θf1 errdiffx by subtracting, from θf1 errx, an estimated 1st foot floor inclination difference θf1 estmx (just calculated).

[0318] Then, in the estimator, a foot floor inclination difference estimation interrupter 146, more precisely a 1st foot floor inclination difference's X-component estimation interrupter determines whether the 1st foot floor inclination difference's X-component estimation should be conducted or interrupted.

[0319] The 1st foot floor inclination difference's X-component estimation interrupter immediately outputs the aforesaid value θf1 errdiffx inputted thereto when it determines that the 1st foot floor inclination difference's X-component estimation should be conducted (continued), whilst it outputs 0 when it determines that the estimation should be interrupted. The details of the foot floor inclination estimation interrupter 146, more precisely the 1st foot floor inclination difference's X-component estimation interrupter will be explained later.

[0320] Next, the estimator calculates the estimated 1st foot floor inclination difference's X-component θf1 estmx by integrating the output of the 1st foot floor inclination difference's X-component estimation interrupter at an integrator 148 by an integration constant K1estmx. The above is processed by the 1st foot floor inclination difference's X-component estimator.

[0321] As illustrated in FIG. 30, the estimated 1st foot floor inclination difference's X-component θf1 estmx is added to the 1st foot X-compensating angle θ1 x, and the sum is inputted to the corrected desired foot position and/or posture calculator 114 g as a 1st foot X-compensating angle with floor shape estimation θ1 x′.

[0322] By repeating the processing mentioned above, the estimated 1st foot floor inclination difference's X-component θf1 estmx converges to the actual foot-to-foot floor inclination difference's X-component. The foot position and/or posture is corrected by the estimated foot-to-foot floor inclination difference θf1 estmx such that the influence of the 1st foot floor inclination difference's X-component upon the actual floor reaction force is absorbed.

[0323] It should be noted in the above that, although only the 1st foot floor inclination difference's X-component estimator 144 is illustrated in FIG. 33, the system includes a 1st foot floor inclination difference's Y-component estimator, a 2nd foot floor inclination difference's X-component estimator and a 2nd foot floor inclination difference's Y-component estimator and similar processing is conducted for estimating a 1st foot floor inclination difference's Y-component, a 2nd foot floor inclination difference's X-component and a 2nd foot floor inclination difference's Y-component.

[0324] The discussion made on the foot-to-foot floor inclination difference estimation will also be applied to this foot floor inclination difference estimation.

[0325] That is, when the 1st foot is, in fact, in contact with the floor completely, more precisely when the 1st foot is actually in area-contact with the floor or when the 1st foot is actually in line-contact with the floor at the Y-direction by the edge of the toe or heel of the sole, the calculated instantaneous 1st foot floor inclination difference's X-component θf1 errx must be equal to the actual 1st foot floor inclination difference's X-component.

[0326] However, due to a vibration in mechanical or control system of the robot 1 and an electric noise, the value θf1 errx (obtained from the calculation algorithm mentioned above), in fact, deviates or fluctuates markedly around the actual 1st foot floor inclination difference's X-component. For that reason, if the value θf1 errx is immediately used as the estimated value of the 1st foot floor inclination difference's X-component and is added to the 1st foot X-compensating angle as illustrated in FIG. 30, the foot 22R(L) of the robot 1 may oscillate or vibrate hard.

[0327] However, when the 1st foot floor inclination difference's X-component estimation interrupter (illustrated in FIG. 33) determines all the time that the estimation should be conducted or continued, the transfer function of portions from θf1 errx to the estimated 1st foot floor inclination difference's X-component θf1 estmx will be the same as the characteristic of a low-pass filter with first-order delay. In other words, the estimated 1st foot floor inclination difference's X-component θf1 estmx will be the same as the value obtained by passing θf1 errx through the low-pass filter.

[0328] As a result, if the estimated 1st foot floor inclination difference's X-component θf1 estmx is added to the 1st foot compensating angle as illustrated in FIG. 30, the oscillation or vibration of the foot 22R(L) is unlikely to occur. Incidentally, in the illustrated example, the time constant of the low-pass filter is 1/K1estmx.

[0329] Other than that illustrated in FIG. 33, the configuration can be modified provided that the transfer function of portions from θf1 errx to the estimated 1st foot floor inclination difference's X-component θf1 estmx becomes equal to the low-pass filter, similar to the case of the foot-to-foot floor inclination difference estimation. With this, it becomes possible to prevent the foot 22R(L) from oscillating or vibrating.

[0330] The characteristic features of the foot floor inclination difference estimator 144 will then be explained.

[0331] Similar to the foot-to-foot inclination difference estimation, the following can be stated as the features.

[0332] In order to generate the 1st foot compensating moment's V-component Mdmd1x necessary for posture stabilization control, if the 1st foot compensating angle θ1 x (illustrated in FIG. 30) is varied to change the corrected desired foot position and/or posture with deformation compensation (which is the finally desired foot position and/or posture), insofar as the 1st foot is perfectly in contact with the floor, the actual foot posture remains unchanged. Rather, the compliance mechanism 42 deforms or the position and/or posture of the body 24 changes. In other words, like the case of the foot-to-foot floor inclination difference estimation, the compliance mechanism 42 deforms or the position and/or posture of the body 24 changes such that the change of the corrected desired foot position and/or posture with deformation compensation is canceled.

[0333] In the 1st foot floor inclination difference's X-component estimator in this embodiment, the amount of mechanism deformation (calculated by the mechanism compliance model 134 based on the actual floor reaction force) and the actual body posture inclination error obtained from the output of the inclination sensor 36 are added at a point before the estimated 1st foot floor inclination difference's X-component θf1 estmx is calculated based on the corrected desired foot position and/or posture with deformation compensation. With this, even if the corrected desired foot position and/or posture with deformation compensation fluctuates, the estimated 1st foot floor inclination difference's X-component θf1 estmx is free from the fluctuation.

[0334] This indicates that the posture control and the 1st foot floor inclination difference estimation are configured such that they do not conflict with each other. Accordingly, if the estimated 1st foot floor inclination difference's X-component θf1 estmx is added to the 1st foot compensating angle as illustrated in FIG. 30, the margin of control stability is not degraded, like the case of the foot-to-foot floor inclination difference estimation.

[0335] Further, when the estimated 1st foot floor inclination difference's X-component flestmx is added to the 1st foot compensating angle as illustrated in FIG. 30, since the influence of the 1st foot floor inclination difference, if it exists, can be canceled, the actual 1st foot floor reaction force will be the same as a case where the robot walks on the supposed floor in a steady-state manner.

[0336] In addition, since the estimation of the 1st floor inclination difference and the correction of the compensating angle are conducted at every control cycle, even if the floor shape is being changed during the estimation, the system can surely estimate the 1st foot floor inclination difference and cancel the influence by the estimated value.

[0337] It should be noted here that, since the 1st foot floor inclination difference estimator includes the low-pass filter as mentioned above, if the floor shape has changed at the time of the 1st foot landing or thereafter, the actual 1st foot floor reaction force is temporarily affected by the 1st foot floor inclination difference, but the influence will then be attenuated by the time constant 1/K1estmx.

[0338] The characteristic features of the floor shape estimation in this embodiment will next be summarized.

[0339] The composite compliance control on which the floor shape estimation of this embodiment is based, is characterized in that the controls of the actual total floor reaction force and foot reaction force through the manipulation of the corresponding one of the compensating angles are configured not to be in conflict with each other.

[0340] Therefore, when the operations to determine the estimated foot-to-foot floor inclination difference θfdbestmv, to add it to the feet compensating angle θdbv, to determine estimated foot inclination differences θf1 estmx, θf1 estmy, θf2 estmx and θf2 estmy, and to add each to the respective foot compensating angles θ1 x, θ1 y, θ2 x and θ2 y are conducted at the same time, the operations do not conflict with each other and no oscillation happens.

[0341] This characteristic feature as well as the characteristic features of the foot-to-foot floor inclination difference estimator 138 and the foot floor inclination difference estimator 144 can yield the following advantages.

[0342] 1) It becomes possible to conduct the following controls or operations at the same time, i.e., to conduct the posture stabilization control to manipulate the feet compensating angle θdbv and the respective foot compensating angles θ1 x, θ1 y, θ2 x and θ2 y to control the actual floor reaction force, to estimate the foot-to-foot floor inclination difference, to add it to the feet compensating angle θdbv, to estimate the foot floor inclination differences and add them to the respective foot compensating angles.

[0343] Briefly speaking, it becomes possible to estimate a plurality of parameters indicative of the floor shape differences at the same time, while conducting the respective compensation operations at the same time to cancel the influence of the estimated floor shape differences on the floor reaction force. In addition, it becomes possible to conduct the feet compensation operation for the posture stabilization.

[0344] 2) The controls are unlikely to oscillate. (This is because no approximation to limit to a fine angle is not conducted in the composite compliance control.)

[0345] 3) The estimation accuracy of the floor shape difference is high.

[0346] 4) Since oscillation due to the conflict with the posture stabilization control is unlikely to occur, in the estimators 138, 144, it becomes possible to increase the gains (Kdbestm, K1estmx, K1estmy, K2estmx, K2estmy) and hence, it becomes possible to decrease or shorten the estimation time constant. With this, since it becomes possible to enhance the response in the feet compensation for canceling the influence of the floor shape difference upon the floor reaction force, the influence can be eliminated in a short period of time.

[0347] 5) Since the estimation of the floor shape difference and the foot compensation for canceling the influence of the floor shape difference on the floor reaction force are conducted all the time, even if the floor shape changes during the operation, the influence remains temporarily and attenuates with respect to time by the estimation time constant.

[0348] Then, the aforesaid estimation interrupters 140, 146 will be explained.

[0349] First, the operation of the 1st foot floor inclination difference's Y-component estimation interrupter.

[0350] The 1st foot floor inclination difference's Y-component estimation interrupter determines whether the estimation of the 1st foot floor inclination difference's Y-component can be conducted normally and when it determines it impossible to conduct the estimation normally, it interrupts or discontinues the estimation.

[0351] More specifically, basically, the interrupter outputs 0 (i.e., to input 0 in the integration input to hold the integral value) to interrupt the estimation in a situation where the accuracy of the estimation of the 1st foot floor inclination difference's Y-component is liable to degrade or in a situation where the estimation of the 1st foot floor inclination difference's Y-component is liable to oscillate. In a situation other than the above, the interrupter outputs the inputted estimated 1st foot floor inclination difference's Y-component immediately to conduct or continue the estimation.

[0352] If the 1st foot floor inclination difference's Y-component estimator does not operate as desired and continues to pass the input immediately, the estimated 1st floor inclination difference's Y-component may oscillate under a certain situation.

[0353] This situation where the estimated 1st foot floor inclination difference's Y-component oscillate in this embodiment will then be explained.

[0354] It is supposed a situation, illustrated in FIG. 36, where, since the robot 1 tilted forward in the leg-supporting period, the 1st foot's Y-compensating angle was manipulated in the posture stabilization control so as to generate a posture stabilization force markedly. However, this resulted in lifting of the 1st foot heel (which had to be in contact with the floor). It is supposed that the actual floor shape was equal to the supposed floor shape.

[0355] In this situation, the angle θf1 erry (obtained by adding the body inclination difference's Y-component θerry to the estimated 1st foot posture inclination Y-component after mechanism deformation θf1 erry″ relative to the supposed 1st foot floor inclination's Y-component) becomes a positive value, as illustrated in FIG. 36 When the 1st foot floor inclination difference's Y-component estimation interrupter outputs or pass the inputted θf1 errdiffy immediately, as mentioned above, the transfer function from θf1 erry to the estimated foot-to-foot floor inclination difference θf1 estmy is a first-order delay value. In other words, θf1 estmy follows θf1 erry with a small lag. θf1 estmy is added to the 1st foot compensating angle θ1 y to produce θ1 y′. Only the configuration of θf1 x′ is illustrated in FIG. 30, that of θ1 y is similar.

[0356] Then, this 1st foot Y-compensating angle θ1 y′ is added to the desired 1st foot position and/or posture and the amount of deformation calculated from the desired floor reaction force (floor reaction force in the desired gait) is subtracted therefrom (i.e., an amount of compensating deformation which cancels the amount of deformation is added), and the corrected desired 1st foot position and/or posture with deformation compensation is calculated.

[0357] In addition, an amount of mechanism deformation is calculated by the mechanism compliance model 134 based on the actual floor reaction force, and is added to the corrected desired 1st foot position and/or posture with deformation compensation to produce the estimated 1st foot position and/or posture after mechanism deformation. By subtracting the supposed 1st foot inclination's Y-component from the inclination's Y-component and by adding the body inclination difference's Y-component θerry thereto, the aforesaid value θf1 erry is updated.

[0358] From these relationships mentioned above, the relationship between θf1 erry and θf1 estmy can be expressed as follows. In the following, the 1st foot mechanism deformation compensating angle due to desired floor reaction force indicates the amount of compensation for canceling the amount of deformation of the compliance mechanism 42 mentioned above.

θf 1 erry=θf 1 estmy+θf 1 y+1st foot mechanism deformation compensating angle's Y-component due to desired floor reaction force+θerry+1st foot mechanism deformation angle's Y-component calculated from actual floor reaction force+desired 1st foot position and/or posture inclination's Y-component−supposed 1st foot inclination's Y-component  Eq. 22

[0359] During the one-leg supporting period in the desired gait, (desired 1st foot position and/or posture inclination's Y-component−supposed 1st foot inclination's Y-component) is 0. Accordingly, Equation 22 is rewritten as follows.

θf 1 erry=θf 1 estmy+θ1 y+1st foot mechanism deformation compensating angle's Y-component due to desired floor reaction force+θerry+1st foot mechanism deformation angle's Y-component calculated from actual floor reaction force  Eq. 23

[0360] When the 1st foot is in contact with the floor completely, whatever (θf1 estmy+θ1 y+1st foot mechanism deformation compensating angle's Y-component due to desired floor reaction force+θerry) is, the right term of Equation 23 becomes 0, since the mechanism deformation angle's Y-component calculated from the actual floor reaction force cancels it. As a result, θf1 erry becomes always 0. Since θf1 estmy follows θf1 erry with first-order lag, it gradually converges to 0. This indicates that the estimator can accurately estimate the situation that the actual floor shape is equal to the supposed floor shape.

[0361] However, in the example illustrated in FIG. 36, although the value (θf1 estmy+θ1 y+1st foot mechanism deformation compensating angle's Y-component due to desired floor reaction force+θerry) is a large positive value, the actual floor reaction force does not grow sufficiently since the foot heel is out of contact with the floor. As a result, the mechanism deformation amount's Y-component can not be a negative value enough for canceling the aforesaid value. In other words, the right term of the equation does not become 0. In this case, θf1 erry does not become 0 and hence, θf1 estmy does not converge to 0. This indicates that the estimated value was erroneous.

[0362] In such a case, in particular in a case where a situation which satisfies Eq. 24 mentioned below continues, even if θf1 estmy is increased so as to be close to θf1 erry, since θf1 erry keeps the relationship of θf1 erry>θfestmy, led from Equations 23 and 24, θf1 erry becomes away form θ1 estmy. Repeating this, θf1 estmy oscillates in the positive direction more and more. This indicates that the estimated value is being oscillated.

θ1 y+1st foot mechanism deformation compensating angle's Y-component due to desired floor reaction force+θerry+1st foot mechanism deformation angle's Y-component calculated from actual floor reaction force>0  Eq. 24

[0363] The processing of the 1st foot floor inclination difference's Y-component estimation interrupter in this embodiment will then be explained with reference to FIG. 37. The processing is repeated at every control cycle.

[0364] In S300, the estimation mode of 1st foot floor inclination difference's Y-component is determined in response to the timing of the desired gait.

[0365] Specifically, the estimation mode of the 1st foot floor inclination difference's Y-component can be one of a resetting mode, a holding mode and a preparation-completed mode. As illustrated in FIG. 38, one among from the three is selected with respect to time in the desired gait. The illustrated transit pattern of mode is the gait illustrated in FIG. 5. When the desired gait is changed, the transit pattern of mode should be changed in response thereto.

[0366] Then, in S302, the following processing is conducted in response to the estimation mode of the 1st foot floor inclination Y-component mode.

[0367] Specifically, when the estimation mode of the 1st foot floor inclination's Y-component is the resetting mode, the program proceeds to S304 in which the estimated 1st foot floor inclination difference's Y-component θf1 estmy is forced to return or converge to 0 gradually, and to S306 in which the output of the 1st foot floor inclination difference's Y-component estimator interrupter is determined to be 0.

[0368] As illustrated in FIG. 38, the resetting mode is determined to be a period of time during which the 1st foot is completely out of the floor such that movement of the 1st foot does not influence the floor reaction force. When there is no relationship between the foot floor inclination difference of the 2nd foot floor contact point landed one step earlier and that of the 1st foot floor contact point to be landed next, it is preferably to return the estimated 1st foot floor inclination difference's Y-component to 0 forcibly and gradually as mentioned above.

[0369] However, for example, if it has been known that undulation of the actual floor (which is not taken into account in the supposed floor) is calm, the existence of the relationship can be presumed to a fair extent, this may be modified such that the estimated 1st foot floor inclination difference's Y-component θf1 estmy converges gradually to a value obtained by multiplying a positive constant (which is smaller than 1) by the estimated 2nd foot floor inclination difference of the 2nd foot floor contact point landed one step earlier. This can further be modified such that a value to which the estimated value converges is determined, not from the estimated foot floor inclination difference's Y-component one step earlier, but from that several steps earlier, or is determined from both the estimated values one step earlier and several steps earlier.

[0370] When the estimation mode of the 1st foot floor inclination's Y-component is the holding mode, the program proceeds to S308 in which the output of the 1st foot floor inclination difference's Y-component interrupter is determined to be 0. Accordingly, the estimated 1st foot floor inclination difference's Y-component θf1 estmy is held to a value at a time just before the mode is changed to the holding mode.

[0371] The holding mode is determined to be a period of time during which the estimated 1st foot floor inclination difference's Y-component is liable to oscillate or the accuracy of estimation accuracy is liable to degrade. For example, as illustrated in FIG. 38, it should be set within a period of time which starts when the heel or toe of the 1st foot begins to leave the floor and continues for a fair amount of time after the 1st foot has left the floor completely.

[0372] In a period of time other than the above, in other words in a period of time in which the estimation of the 1st foot floor inclination difference's Y-component can be conducted normally, the estimation mode of the 1st foot floor inclination's Y-component is determined to be the preparation-completed mode.

[0373] In this preparation-completed mode, the following processing will be conducted.

[0374] Specification, the program proceeds to S310 in the flow chart in which the actual 1st foot floor reaction force central point (point's position) Q1 act is determined based on the actual 1st foot floor reaction force's moment M1act and the actual 1st foot floor reaction force's force component F1act. The actual 1st foot floor reaction force central point (point'position) Q1 act indicates a point of action on the foot sole about which moment components other than vertical component of the actual 1st foot floor reaction force's moment becomes 0. The X-coordinate of the actual 1st foot floor reaction force central point Q1 act is named a “Q1actx”.

[0375] The program then proceeds to S312 in which the actual 1st foot floor reaction force's Z-component (vertical component) F1actz and the aforesaid coordinate point Q1 actx relative to preset 1st foot estimation permissible minimum floor reaction force F1min, 1st foot estimation permissible maximum area Q1maxx and 1st foot estimation permissible minimum area Q1minx satisfy at least one of the following conditions:

F1actz<F1min  Condition 1)

Q 1 actx>Q 1maxx and θf 1 errdiffy>0  Condition 2)

Q 1 actx<Q 1minx and θf 1 errdiffy<0  Condition 3)

[0376] As regards Condition 1, the 1st foot estimation permissible minimum floor reaction force F1min is a threshold value indicating that the estimation of the 1st foot floor inclination is impossible if the floor reaction force acting on the 1st floor is less than it, and should be preset to a value smaller than the weight of the robot 1. In other words, Condition 1 indicates a situation where accurate estimation of the 1st foot floor inclination's Y-component is impossible since the pressure between the 1st foot and the floor is too small.

[0377] As regards Conditions 2) and 3), when defining the X-coordinate of the toe as “xtoe” and the heel “xheel” as in the foot coordinate system, the 1st foot estimation permissible maximum area Q1maxx should be preset to a value slightly smaller than xtoe, whilst the 1st foot estimation permissible minimum area Q1minx should be preset to a value slightly larger than xheel. FIG. 39 illustrates the relationship therebetween.

[0378] When the estimation is conducted in an ideal manner, the 1st foot estimated permissible maximum area Q1maxx and the 1st foot estimation permissible minimum area Q1minx can be preset to values corresponding to the foot edge. However, in fact, there occurs a detection error which makes the estimation value to oscillate. In order to prevent this from occurring, as illustrated in FIG. 39, the 1st foot estimation permissible maximum area Q1maxx and the 1st foot estimation permissible minimum area Q1minx should be preset to points that reside inner than the edges by a fair amount.

[0379] Condition 2) indicates a situation in which the integrator input θf1 errdiffy is a positive value although the feet is about to lift, in other words, the estimated 1st foot floor inclination is being changed to a direction in which the foot heel lifts. When the estimation is continued in such a situation, the 1st foot Y-compensating angle with floor shape estimation will change to that direction more and more.

[0380] Condition 3) indicates a situation in which the integrator input θf1 errdiffy is a negative value although the foot toe is about to lift, in other words, the estimated 1st foot floor inclination is being changed to a direction in which the foot toe lifts. When the estimation is continued in such a situation, the 1st foot Y-compensating angle with floor shape estimation will change to that direction more and more.

[0381] Returning to the explanation of the flow chart of FIG. 37, when the result in S312 is affirmative and it is determined that at least one of Conditions 1), 2) and 3) is satisfied, since the estimation should be interrupted or discontinued, the program proceeds to S314 in which the output of the 1st foot floor inclination difference's Y-component estimation interrupter is determined to be 0. On the other hand, when the result is negative in the step, since this indicates the there is no problem in conducting the estimation, the program proceeds to S316 in which the output is determined to be θf1 errdiffy.

[0382] It is sufficient if the equations of Conditions 1), 2) and 3) can indicate the situations mentioned above. Accordingly, in Condition 1), instead of the actual 1st foot floor reaction force's Z-component (vertical component) F1actz, the component normal to the foot (named a “F1actz”) of the actual 1st foot floor reaction force's force component F1act can be used.

[0383] In Conditions 2) and 3), instead of the actual 1st foot floor reaction force central point's position Q1 act, a point of action on the foot sole about which moment components other than that normal to the foot of the actual 1st foot floor reaction force's moment becomes 0 can be used. This point is named a “Q1act′”.

[0384] Then, explaining the processing of the 1st foot floor inclination difference's X-component estimation interrupter, it conducts the processing similar to that of the 1st foot floor inclination difference's Y-component estimation interrupter.

[0385] The differences therebetween are that, in Conditions 2) and 3), instead of those indicating lifting of foot toe or heel, those indicating lifting of foot's inner or outer edge are used. To be more specific, Conditions 2′ and 3′) mentioned below are newly used. In these conditions, as illustrated in FIG. 39, Q1maxy and Q1miny are preset to areas which are slightly towards the foot sole center from the edges.

Q 1 acty>Q 1maxy and θf 1 errdiffx<0  Condition 2′)

Q 1 acty<Q 1miny and θferrdiffx>0  Condition 3′)

[0386] Due to the direction of coordinate system, the sign of inequality are partially changed in the equations. In addition, as regards the transit timing of the estimation mode of the 1st foot floor inclination difference's X-component, the termination of the preparation-completed mode may be delayed slightly than that of the Y-component. This is because the 1st foot floor inclination difference's X-component can be estimated insofar as the foot toe edge in contact with the floor.

[0387] It should also be noted that the processing or operation of the 2nd foot floor inclination difference estimation interrupter is the same as that of the 1st foot floor inclination difference estimation interrupter.

[0388] The processing of the foot-to-foot floor inclination difference's estimation interrupter 140 will then be explained with reference to FIG. 40. The processing is repeated at every control cycle. The processing is basically the same as that of the 1st foot floor inclination difference's Y-component estimator, but is different from that in detailed portions.

[0389] In S400, the estimation mode of the foot-to-foot floor inclination is determined in response to the timing of the desired gait.

[0390] Specifically, the estimation mode of the foot-to-foot floor inclination should similarly be determined in response to time in the desired gait, as illustrated in FIG. 41. The illustrated transit pattern of mode is also the gait illustrated in FIG. 5. When the desired gait is changed, the transit pattern of mode should be changed in response thereto.

[0391] Then, in S402, the following processing is conducted in response to the estimation mode of the foot-to-foot floor inclination.

[0392] Specifically, when the estimation mode of the foot-to-foot floor inclination is a resetting mode, the program proceeds to S404 in which the estimated foot-to-foot floor inclination difference θfdbestmv is forced to return or converge to 0 gradually, and to S406 in which the output of the foot-to-foot floor inclination difference estimation interrupter is determined to be 0. As illustrated in FIG. 41, the resetting mode is determined to be the one-leg supporting period such that movement of the feet compensating angle with floor shape estimation does not influence the floor reaction force.

[0393] When there is no relationship between the foot-to-foot floor inclination difference at a time landed one step earlier and that at a time to be landed next, it is preferably to return the estimated foot-to-foot floor inclination difference θfdbestmv to 0 forcibly and gradually as mentioned above. However, for example, if it has been known that undulation of the actual floor (which is not taken into account in the supposed floor) is calm, the existence of the relationship can be presumed to a fair extent, this may be modified such that the estimated foot-to-foot floor inclination θfdbestmv converges gradually to a value obtained by multiplying a positive constant (which is smaller than 1) by the estimated foot-to-foot floor inclination difference at the time landed one step earlier.

[0394] This can further be modified such that a value to which the estimated value converges is determined, not from the estimated foot-to-foot floor inclination at the time one step earlier, but from that several steps earlier, or is determined from both the estimated values one step earlier and several steps earlier.

[0395] When the estimation mode of the foot-to foot floor inclination is a holding mode, the program proceeds to S408 in which the output of the foot-to-foot floor inclination difference estimation interrupter is determined to be 0. Accordingly, the estimated foot-to-foot floor inclination difference θfdbestmv is held to a value at a time just before the mode is changed to the holding mode.

[0396] The holding mode is determined to be a period of time during which the estimated foot-to-foot floor inclination difference is liable to oscillate or the accuracy of estimation is liable to degrade. For example, as illustrated in FIG. 41, it should be set within a period of time which starts at the termination of the two-leg supporting period and continues for a fair amount of time thereafter.

[0397] In a period of time other than the above, in other words in a period of time in which the estimation of the foot-to-foot floor inclination difference can be conducted normally, the estimation mode of the foot-to-foot floor inclination difference is determined to be a preparation-completed mode.

[0398] In this preparation-completed mode, the following processing will be conducted.

[0399] Specification, the program proceeds to S410 in which the actual foot floor reaction force relative to preset foot-to-foot estimation permissible minimum floor reaction force Fmin and foot-to-foot floor inclination estimation permissible ratio rmin satisfy at least one of the following conditions: Condition 4) F1actz < Fmin or F2actz < Fmin Condition 5) F2actz/ (F1actz + F2actz) < rmin; and θdberrdiffv > 0 Condition 6) F2actz/ (F1actz + F2actz) < rmin; and θdberrdiffv < 0

[0400] As regards Condition 4, the foot-to-foot floor inclination estimation permissible minimum floor reaction force Fmin is a threshold value indicating that the estimation of the foot-to-foot floor inclination is impossible if the floor reaction force acting on the 1st foot and 2nd foot is less than it, and should be preset to a value smaller than the weight of the robot 1. In other words, Condition 4 indicates a situation where accurate estimation of the foot-to-foot floor inclination is impossible since the pressure between the 1st and 2nd feet and the floor is too small.

[0401] As regards Conditions 4) and 5), when the estimation is conducted in an ideal manner, the foot-to-foot floor inclination estimation permissible ratio rmin may be 0. However, in fact, there occurs a detection error which makes the estimation value to oscillate. In order to prevent this from occurring, the foot-to-foot floor inclination estimation permissible ratio rmin should be preset to a positive value which is smaller than 1 by a fair amount.

[0402] Condition 5) indicates a situation in which the integrator input θfdberrdiffv is a positive value although the 2nd foot is about to lift, in other words, the estimated foot-to-foot floor inclination is being changed to a direction in which the 2nd foot lifts. When the estimation is continued in such a situation, the feet compensating angle with floor shape estimation will change to that direction more and more.

[0403] Condition 6) indicates a situation in which the integrator input θfdberrdiffv is a negative value although the 1st foot is about to lift, in other words, the estimated foot-to-foot floor inclination is being changed to a direction in which the 1st foot lifts. When the estimation is continued in such a situation, the feet compensating angle with floor shape estimation will change to that direction more and more.

[0404] Returning to the explanation of the flow chart of FIG. 40, when it is determined that at least one of Conditions 4), 5) and 6) is satisfied, since the estimation should be interrupted or discontinued, the program proceeds to S412 in which the output of the foot-to-foot floor inclination difference estimation interrupter is determined to be 0. On the other hand, when the result is negative in the step, since this indicates the there is no problem in conducting the estimation, the program proceeds to S414 in which the output is determined to be θfdberrdiffv.

[0405] It is sufficient if the equations of Conditions 4), 5) and 6) can indicates the situations mentioned above. Accordingly, instead of the actual n-th foot floor reaction force's Z-component (vertical component) Fnactz, the component normal to the foot (named a “Fnactz′”) of the actual n-th foot floor reaction force's force component Fnact can be used.

[0406] Having been configured in the foregoing manner, the system can estimate the floor shape (that has been difficult in the prior art), i.e, the system can accurately estimate the inclination of the surface with which the foot is in contact and the height difference between the surfaces with which the feet are in contact, at the same time, i.e., in a composite manner.

[0407] Further, even if the floor shape is different from that supposed, the system can generate the floor reaction force as desired by correcting the foot trajectory to absorb the influence.

[0408] Further, the system can eliminate the steady-state error between the actual floor reaction force and a desired value in the control as least as possible, which the prior art composite control could not achieve. In other words, the system can solve the steady-state error due to a deviation in the floor reaction force.

[0409] Further, since the system is configured to interrupt or discontinue the floor shape estimation in a situation where the estimation accuracy is liable to degrade or the estimated value is likely to oscillate, in addition to the advantages mentioned above, the estimated value obtained will not be inappropriate.

[0410] It should be noted in the above, it is sufficient for the floor shape estimation system for a legged mobile robot according to this embodiment, if it estimates the floor shape in the manner mentioned above. In other words, it is not essential for the system to control the desired position posture such as the foot trajectory by manipulated the floor reaction force based on the estimated value.

[0411] Next, a floor shape estimation system of a legged mobile robot according to a second embodiment of the present invention will be explained.

[0412] The second embodiment is a simplification of the first embodiment. FIG. 42 illustrates the entire configuration of the floor shape estimation system according to the second embodiment. The configuration of the second embodiment is different in the inputs to floor shape estimator and the processing in the floor shape estimator. The rest of the configuration is the same as that of the first embodiment.

[0413] Briefing the second embodiment, the compliance model 134 of the first embodiment is approximated by the configuration mentioned above and the block diagram illustrating the configuration is rewritten to be equivalent to that of the first embodiment.

[0414] Before entering the explanation of the floor shape estimator according to the second embodiment, terms and the compliance model used in the second embodiment will be explained.

[0415] It is assumed here that, as illustrated at the top of FIG. 43, the joint displacement control of the robot 1 is conducted in such a way that the relative relationship between the corrected desired foot position and/or posture with deformation compensation and the desired body position and/or posture are satisfied, then, as illustrated at the medium of the figure, the body 24 of the robot 1 is inclined or tilted by the body inclination error θerr from the desired body posture and is supported in space, and then, as illustrated at the bottom of the figure, external force corresponding the desired foot floor reaction force is imparted to each foot. Here, the inclination of a vector (about the aforesaid V-direction) whose initial point is a desired 1st foot floor reaction force central point Q1′41 and whose terminal point is a desired 2nd foot floor reaction force central point Q2′″ in the foot of this assumed situation, is called a “foot-to-foot inclination during ideal deformation”.

[0416] In addition, the posture inclination of the n-th foot of this assumed situation is called an “n-th foot inclination during ideal deformation”. If the body inclination error, the feet compensating angle, the foot compensating angle, the estimated foot-to-foot floor inclination difference, the estimated 1st foot floor inclination difference and the estimated 2nd foot floor inclination difference are all 0, the foot-to-foot inclination during ideal deformation becomes equal to the supposed foot-to-foot floor inclination, whilst the n-th foot inclination during ideal deformation becomes equal to the supposed n-th foot floor inclination.

[0417] The sum of the supposed foot-to-foot floor inclination and the estimated foot-to-foot floor inclination difference is called an “estimated foot-to-foot floor inclination”. This is expressed by an angle about the V-direction. The sum of the supposed n-th foot floor inclination and the estimated n-th foot floor inclination difference is called an “estimated n-th floor inclination”. The difference between the foot-to-foot inclination difference during ideal deformation and the estimated foot-to-foot floor inclination difference is called an “estimated feet interference angle θdbintv” This is also expressed by an angle about the V-direction.

[0418] The difference between the 1st foot inclination during ideal deformation and the estimated 1st foot floor inclination is called an “estimated 1st foot interference angle θ1int”. Similarly, the difference between the 2nd foot inclination during ideal deformation and the estimated 2nd foot floor inclination is called an “estimated 2nd foot interference angle θ2int”.

[0419] If it is assumed that the estimated foot-to-foot floor inclination and the actual foot-to-foot floor inclination are equal to each other and that the desired foot floor reaction force central point of the actual robot foot is in contact with the floor, the compliance mechanism 42 of the actual robot must deform so as to cancel the estimated feet interference angle θdbintv.

[0420] This mechanism deformation must yield the V-direction component of the sum of the moments of the foot floor reaction force's force components of the two feet about the desired total floor reaction force central point. This V-direction moment component is called a “Mdestmv”.

[0421] Then, the relationship between the estimated feet interference angle θdbintv and the V-direction moment component Mdbestmv should be determined beforehand and stored in memory. Among of characteristics of the compliance mechanism 42 of the robot 1, this relationship indicates only a characteristic of the feet interference angle and hence is called a “foot-to-foot mechanism compliance model”. This is illustrated in FIG. 44 with reference numeral 134 a.

[0422] If it is assumed that the estimated n-th foot floor inclination is equal to the actual n-th foot floor inclination and that the n-th foot of the robot 1 is in contact with the floor completely, the compliance mechanism 42 of the robot 1 must deform so as to cancel the estimated n-th foot interference angle θnint. This mechanism deformation must yield the moment of the 1st foot floor reaction force about the desired 1st foot floor reaction force central point. This moment is called a “M1estm”. Similarly, this mechanism deformation must also yield the moment of the 2nd foot floor reaction force about the desired 2nd foot floor reaction force central point. This moment is called a “M2estm”.

[0423] Then, relationship between the estimated n-th foot interference angle's X-component θnintx and the moment component's X-component Mnestmx should be determined beforehand and stored in memory. Among of characteristics of the compliance mechanism 42 of the robot 1, this relationship indicates only a characteristic of the foot interference angle and hence is called a “foot mechanism compliance model”. This is illustrated in FIG. 45 with reference numeral 134 b.

[0424] The configuration of the floor shape estimator 130 a according to the second embodiment will then be explained.

[0425] The floor shape estimator 130 a according to the second embodiment comprises a foot-to-foot floor inclination difference estimator 138 a and a foot floor inclination difference estimator 144 a. FIG. 44 is a block diagram showing the configuration and processing of the foot-to-foot floor inclination difference estimator 138 a. FIG. 45 is a block diagram showing the configuration and processing of the foot floor inclination difference estimator 144 a.

[0426]FIG. 45 illustrates only the configuration and processing for estimating the 1st foot floor inclination difference's X-component, but those for estimating the 1st foot floor inclination difference's Y-component, the 2nd foot floor inclination difference's X-component and the 2nd foot floor inclination difference's Y-component will be similar.

[0427] The processing of the foot-to-foot floor inclination difference estimator 138 a will be explained with reference to FIG. 44.

[0428] First, the V-direction component θerrv of the body inclination error θerrv is calculated by dissolving the error in the V-direction component and the component perpendicular thereto.

[0429] Next, the inclination of the vector whose initial point is the desired 1st foot floor reaction force central point Q1 and whose terminal point is the desired 2nd foot floor reaction force central point Q2 of the desired gait, and a difference obtained by subtracting the supposed foot-to-foot floor inclination from the calculated inclination is determined as a “supposed feet interference angle θdbintcmdv”.

[0430] Then, the aforesaid estimated feet interference angle θdbintv is calculated in accordance with the following equation:

θdbintv=θdbv′+θerrv−θfdbestmv+θdbintcmdv  Eq. 25

[0431] Here, as mentioned in the first embodiment, θfdbestmv is the estimated foot-to-foot floor inclination difference. And, θdbv′ is the feet compensating angle with floor shape estimation and as illustrated in FIG. 42, is the sum of the feet compensating angle θdbv and the estimated foot-to-foot floor inclination difference θfdbestmv. Since current values of the feet compensating angle with floor shape estimation θdbv′ and the estimated foot-to-foot floor inclination difference θfdbestmv should be calculated from themselves, they should be stored and their most recent values should be used in the calculation.

[0432] It should be noted here that, when it is required to estimate the foot-to-foot floor inclination difference before a supposed timing at which the feet are to be landed, in order to improve the estimation accuracy, it is preferable to add the supposed feet interference angle θdbintcmdv. However, the configuration to add the supposed feet compensating angle θdbintcmdv as well as the calculation of this supposed feet interference angle θdbintcmdv (in other words, a portion enclosed by a dash line in FIG. 44) is not always indispensable for this system.

[0433] Then, the aforesaid value Mdbestmv (which is expected to be produced in response to the estimated feet interference angle θdbintv) is calculated using the foot-to-foot mechanism compliance model 134 a, whilst the V-direction component Mf1f2actv of the sum of the moments produced about the desired total floor reaction force central point by the actual foot floor reaction force's force component of the respective feet is calculated. The V-direction component is the component obtained by Eqs. 12 and 13 of the composite control.

[0434] Next, the feet moment estimated difference Mdberr is obtained by calculating a difference between the values Mf1f2actv and Mdbestmv. If the estimated foot-to-foot floor inclination difference θdbestmv is equal to the actual foot-to-foot floor inclination difference, the feet moment estimated difference Mdberr is 0. Namely, if the feet moment estimated difference Mdberr is 0, the estimated foot-to-foot floor inclination difference θfdbestmv becomes equal to the actual foot-to-foot floor inclination difference.

[0435] Then, in the estimator, the foot-to-foot floor inclination difference estimation interrupter 140 a determines whether the foot-to-foot floor inclination difference estimation should be conducted or interrupted (discontinued).

[0436] The foot-to-foot floor inclination difference estimation interrupter 140 a immediately outputs the aforesaid value Mdberr inputted thereto when it determines that the foot-to-foot floor inclination difference estimation should be conducted (continued), whereas it outputs 0 when it determines that the estimation should be interrupted. The details of the foot-to-foot floor inclination estimation interrupter 140 a will be explained later.

[0437] Next, the estimator integrates the output from the foot-to-foot floor inclination difference estimation interrupter 140 a at an integrator 142 a by an integration constant Kdbestm′. to determine the estimated foot-to-foot floor inclination difference θfdbestmv.

[0438] The above is processed by the foot-to-foot floor inclination difference estimator 138 a according to the second embodiment.

[0439] As illustrated in FIG. 42, the estimated foot-to-foot floor inclination difference θfdbestmv is added to the feet compensating angle θdbv, and the sum is inputted to the corrected desired foot position and/or posture calculator 114 g as the feet compensating angle with floor shape estimation θdbv′.

[0440] By repeating the processing mentioned above, the estimated foot-to-foot floor inclination difference θfdbestmv changes such that the foot-to-foot moment estimated difference Mdberr converges to 0.

[0441] As mentioned above, when the feet moment estimated difference Mdberr becomes 0, the estimated foot-to-foot floor inclination difference θfdbestmv becomes equal to the actual foot-to-foot floor inclination difference. In this way, the estimated foot-to-foot floor inclination difference θfdbestmv will converge the actual foot-to-foot floor inclination difference after a while. Thus, the foot-to-foot floor inclination difference can be estimated in the processing mentioned above.

[0442] It should be noted that when the foot-to-foot mechanism compliance model 134 is linear, the closed-loop transfer function from the actual foot-to-foot floor inclination difference estimation to the estimated foot-to-foot floor inclination difference estimation in its processing system has a first-order lag. Its time constant T can be obtained by the following equation, when defining a ratio (in absolute value) of the input (estimated feet interference angle) to the foot-to-foot mechanism compliance model 134 a to its output (aforesaid moment Mdbestmv):

T=1/(C*Kdbestm′)  Eq. 26

[0443] Different form the integration gain Kdbestm in the first embodiment, in the second embodiment, by determining it as Kdbestm′ and by calculating by the equation mentioned below, it becomes possible to obtain the foot-to-foot floor inclination difference estimator 138 a having almost the same characteristics as that of the first embodiment.

Kdbestm′=Kdbestm/C  Eq. 27

[0444] Next, the processing of the foot floor inclination difference estimator 144 a will be explained with reference to FIG. 45.

[0445] Although FIG. 45 illustrates only the configuration and processing for estimating the 1st foot floor inclination difference's X-component, they will be also be applied to those for estimating the 1st foot floor inclination difference's Y-component, the 2nd foot floor inclination difference's X-component and the 2nd foot floor inclination difference's Y-component.

[0446] First, the estimator calculates the 1st foot inclination angle of the desired gait, subtracts the supposed 1st foot floor inclination difference therefrom, and determines the X-component of the difference as a supposed 1st foot interference angle's X-component θ1 intcmdx.

[0447] Then, the estimator calculates an X-component θ1 intx of the aforesaid estimated 1st foot interference angle using the following equation:

θ1 nitx=θ1 x′+θerrx−θf 1 estmx+θ1 intcmdx  Eq. 28

[0448] Here, θf1 estmx indicates the estimated 1st foot floor inclination difference's X-component, as mentioned in the first embodiment. And, θ1 x′ indicates the 1st foot X-compensating angle with floor shape estimation and as shown in FIG. 42, is the sum of the 1st foot X-compensating angle θ1 x and the estimated 1st foot floor inclination difference's X-component θf1 estmx.

[0449] Since the 1st foot X-compensating angle θ1 x′ and the estimated 1st foot floor inclination difference's X-component θf1 estmx are values whose current values should be determined using themselves, their most recent values stored in memory should be used in this calculation.

[0450] It should be noted here that, when it is required to estimate the 1st foot floor inclination difference before a supposed timing at which the feet are to be in contact with the floor completely, in order to improve the estimation accuracy, it is preferable to add the supposed 1st foot interference angle's X-component θ1 intcmdx. However, the configuration to add the supposed 1st foot compensating angle's X-component θ1 intcmdx as well as the calculation of this supposed 1st foot interference angle's X-component θ1 intcmdx (i.e., a portion enclosed by a dash line in FIG. 45) is not always indispensable for this system.

[0451] Then, the aforesaid value's X-component M1estmx (which is expected to be produced in response to the estimated 1st foot interference angle's X-component θ1 intx) is calculated using the foot mechanism compliance model 134 b.

[0452] Next, the 1st foot floor reaction force moment's estimated difference's X-component M1errx is obtained by calculating a difference between the detected actual 1st foot floor reaction force's moment M1actx and the aforesaid value M1estmx. If the estimated 1st foot floor inclination difference θf1 estmx is equal to the actual 1st foot floor inclination difference, the 1st foot floor reaction force moment's estimated difference's X-component M1errx is 0. Saying this reverse, if the 1st foot floor reaction force moment's estimated difference's X-component M1errx is 0, the estimated 1st foot floor inclination difference's X-component θf1 estmx becomes equal to the actual 1st foot floor inclination difference.

[0453] Then, in the estimator, the 1st foot floor inclination difference estimation interrupter determines whether the 1st foot floor inclination difference estimation should be conducted or interrupted (discontinued).

[0454] The 1st foot floor inclination difference estimation interrupter immediately outputs the 1st foot floor reaction force moment's estimated difference's X-component M1errx inputted thereto when it determines that the foot-to-foot floor inclination difference estimation should be conducted (continued), whereas it outputs 0 when it determines that the estimation should be interrupted. The details of the 1st foot floor inclination estimation interrupter 146 a will be explained later.

[0455] Next, the estimator integrates the output from the 1st foot floor inclination difference estimation interrupter at an integrator by an integration constant K1estmx′ to determine the estimated 1st foot floor inclination difference's X-component θf1 estmx.

[0456] The above is processed by the 1st foot floor inclination difference estimator according to the second embodiment.

[0457] As illustrated in FIG. 42, the estimated 1st foot floor inclination difference's X-component θf1 estmx is added to the 1st foot compensating angle θ1 x, and the sum is inputted to the corrected desired foot position and/or posture calculator 114 g as the 1st foot's X-compensating angle with floor shape estimation θ1 x′.

[0458] By repeating the processing mentioned above, the estimated 1st foot floor inclination difference's X-component θf1 estmx changes such that the 1st foot floor reaction force moment's estimated difference's X-component M1errx converges to 0.

[0459] As mentioned above, when the 1st foot floor reaction force moment's estimated difference's X-component M1errx becomes 0, the estimated 1st foot floor inclination difference's X-component θf1 estmx becomes equal to the actual 1st foot floor inclination difference's X-component. In this way, the estimated 1st foot floor inclination difference's X-component θf1 estmx will converge the actual 1st foot floor inclination difference's X-component after a while. Thus, the 1st foot floor inclination difference's X-component can be estimated in the processing mentioned above.

[0460] It should be noted that when the foot mechanism compliance model 134 b is linear, the closed-loop transfer function from the actual 1st foot floor inclination difference's X-component estimation to the estimated 1st foot floor inclination difference's X-component estimation in its processing system has a first-order lag. Its time constant T can be obtained by the following equation, when defining a ratio (in absolute value) of the input (estimated 1st foot interference angle's X-component θ1 intx) to the foot mechanism compliance model 134 b to its output (aforesaid moment M1estmx).

T=1/(C 1*K1estmx′)  Eq. 29

[0461] Different form the integration gain K1estmx in the first embodiment, in the second embodiment, by determining it as K1estmx′ and by calculating by the equation mentioned below, it becomes possible to obtain the 1st foot floor inclination difference estimator having almost the same characteristics as that of the first embodiment.

K1estmx′=K1estmx/C 1  Eq. 30

[0462] When the orientation (posture) of the desired foot is different from that of the desired body, it suffices if the body inclination is expressed by the each foot's coordinate system.

[0463] Then, the first embodiment is compared with the second embodiment.

[0464] In the first embodiment, the finally-corrected desired foot position and/or posture is used as the input to the floor shape estimator 130, whilst in the second embodiment, it can be stated that a variable or parameter which is intermediately generated for determining the finally-corrected desired foot position and/or posture.

[0465] Summarizing the second embodiment, the compliance model of the first embodiment is approximated by the foot-to-foot mechanism compliance model 134 a for the feet compensating angle and the foot mechanism compliance model 134 b for the foot compensating angle, and the block diagram illustrating the configuration is rewritten to be equivalent to that of the first embodiment.

[0466] Since the mechanism compliance model is thus simplified in the second embodiment, the estimation accuracy is somewhat lower than that of the first embodiment. Since, however, the calculation of the mechanism compliance model is simplified, the system according to the second embodiment can decrease the load of the control unit 26. Except for this, the rest of the second embodiment is not different from the first embodiment. The effects and advantages of the second embodiment are the same as those of the first embodiment. Like the first embodiment, the second embodiment is sufficient if it can estimate the floor shape estimation.

[0467] It should be noted in the above, when it is not required to begin estimation of the foot-to-foot floor shape difference before a supposed time indicating the start of the two-leg supporting period (i.e., a supposed time at which the free leg lands), the following equation can be used in which the term on the supposed feet interference angle θdbintcmdv is removed from Eq. 25. This is because the supposed feet interference angle θdbintcmdv is 0 during the two-leg supporting period.

θdbintv=θdbv′+θerrv−θfdbestmv  Eq. 31

[0468] When it is not required to begin estimation of the 1st foot floor shape difference's X-component before the 1st foot's edge along the Y-axis (i.e., the heel edge or toe edge) in the desired gait is to be in contact with the floor, the following equation can be used in which the term on the supposed 1st foot interference angle's X-component θ1 intcmdx is removed from Eq. 28. The reason is that, a period of time during which the 1st foot's edge along the Y-axis is in contact with the floor, the supposed 1st foot interference angle 's X-component θ1 intcmdx is 0.

θ1 intx=θ1 x′+θerrx−θf 1 estmx  Eq. 32

[0469] When it is not required to begin estimation of the 1st foot floor shape difference's Y-component before the 1st foot's edge along the X-axis (i.e., the inner or outer edge) in the desired gait is to be in contact with the floor, the following equation can be used in which the term on the supposed 1st foot interference angle's X-component θ1 intcmdy is removed from an equation (in which x in Eq. 28 is to be replaced by y). The reason is that, a period of time during which the 1st foot's edge along the X-axis (i.e. the inner or outer edge) is in contact with the floor, the supposed 1st foot interference angle's Y-component θ1 intcmdy is 0.

θ1 inty=θ1 y′+θerry−θf 1 estmy  Eq. 33

[0470] Further, if the moment Mf1f2actv obtained from Eq. 12a is used, in stead of the moment Mf1f2actv obtained from Eq. 12, the total floor reaction force's moment about the desired total floor reaction force central point (which is expect to be produced in response to the mechanism deformation for canceling the estimated feet interference angle) should be used, in lieu of the moment Mdeestmv.

[0471] It should be noted that the estimated floor shape difference is stored as information onto floor shape such that it can be used as a reference when the robot next walks on the same floor.

[0472] Then, the processing or operation of the 1st foot floor inclination difference's Y-component estimation interrupter will be explained.

[0473] The configuration and processing of the 1st foot floor inclination difference's Y-component estimation interrupter according to the second embodiment is almost the same as that of the first embodiment. Specifically, it is sufficient in the configuration illustrated in FIG. 37, if θf1 errdiffy is replaced by the 1st foot floor reaction force moment's estimated difference's Y-component M1erry.

[0474] Also, the processing of the foot-to-foot floor inclination difference estimation interrupter 140 a is almost the same as that of the first embodiment. Specifically, it is sufficient in the configuration illustrated in FIG. 40, if θfdberrdiffv is replaced by the feet moment's estimated difference Mdberr.

[0475] Explaining the operation of the foot-to-foot floor inclination difference estimation interrupter 140 a, like the 1st foot floor inclination difference estimation interrupter, it determines whether the estimation of the foot-to-foot floor inclination difference can be conducted normally and if not, it interrupts or discontinues the estimation. More specifically, the interrupter outputs 0 in a situation where the estimation accuracy of the foot-to-foot floor inclination difference is liable to be degraded or where the estimated foot-to-foot floor inclination difference is likely to oscillate, whereas it outputs or passes the input immediately to continue the estimation in a situation other than the above.

[0476] The estimated foot-to-floor inclination difference does not oscillate when the contact pressure between the foot and the floor is sufficient, but does oscillate in a situation where one foot is about to be out of the contact with the floor, but feet compensating angle is being changed to a direction in which the foot is lifted. Since this is almost the same as that in the oscillation of the estimated 1st foot floor inclination difference's Y-component, no further explanation will be made.

[0477] Having been configured in the foregoing manner, the system according to the second embodiment can accurately estimate the floor shape, more specifically, it can estimate the inclination of the surface with which each foot is in contact and a height difference between surfaces with which the feet are in contact, at the same time or simultaneously.

[0478] Further, the system can produce the floor reaction force as desired even when the floor shape is different from that has been supposed, and can solve the steady-state error of the floor reaction force due to a deviation of the floor shape.

[0479] Further, since the floor shape estimation is interrupted or discontinued in a situation where the accuracy of floor shape estimation is liable to degrade or the estimation value is liable to oscillate, in addition to the advantages and effects mentioned above, it can prevent the estimated value from being inappropriate.

[0480] It should be noted that, in the first and second embodiment, a situation where the foot 22R(L) is liable to lift is determined by calculating the actual foot floor reaction force central point Qnact or Qnact′ from the actual foot floor reaction force obtained from the force sensor 34, and by discriminating based on the calculation result which direction the foot is liable to lift (i.e., discriminating which of the heel, the toe, the inner edge and the outer edge is likely to be lifted).

[0481] However, the determination should not be limited to that. As illustrated in FIG. 46, it is alternatively possible to install a pressure-distribution sensor 200 between the foot sole elastic member 40 and the foot main body 22 a, and to determine from an output signal of the sensor which direction the foot is liable to lift. Since the pressure-distribution sensor 200 can detect the deformation of the foot more precisely than the force sensor 34, the provision of such a sensor will improve the floor shape estimation.

[0482] Further, as illustrated in FIG. 47, it is still alteratively possible to install a plurality of contact sensors 202 at the foot 22R(L), for example each at the corners, and to determine from output signals of the sensors which direction the foot is liable to lift. In this case, the estimation will be interrupted or discontinued depending on the number of sensor output signals (indicative of non-contact of the foot with the floor).

[0483] As mentioned above, the first and second embodiments are configured such that it has a system for controlling a legged mobile robot having at least a body 24 and a plurality of legs (leg links) 2 each connected to the body through a first joint (hip joints 10, 12, 14R(L)) and having a foot 22R(L) connected to its distal end through a second joint (ankle joints 18, 20R(L)), the system having a compliance mechanism 42 which deforms in response to a floor reaction force acting from a floor with which the foot is in contact and joint displacement means (electric motors) which displacing the first and second joints (10, 12R(L), . . . ) such that the foot follows a desired position and/or posture, comprising: inclination detection means (inclination sensor 36) for detecting an inclination of the body relative to a vertical direction; walking environment foot position and/or posture calculating means (ECU 26, composite compliance operation determinator 114, corrected desired feet position and/or posture with deformation compensation calculator 114 h, adder of the body inclination error's V-direction component θerrv in the foot-to-foot floor inclination difference estimator 138, adder of the body inclination error's X-direction component θerrx in the 1st foot floor inclination difference estimator 144) for calculating a position and/or posture of the foot in a walking environment (corrected desired foot position and/or posture with deformation compensation) including the floor with which the foot is in contact, based on an actual and/or desired position and/or posture of the foot and the detected inclination; deformed foot position/posture calculating means (ECU 26, composite compliance model 134, floor shape estimator 130 (in particular portions up to that for calculating θfdbv′ in the foot-to-foot floor inclination difference estimator 138, and portions up to that for calculating θf1 errx′ in the 1st foot floor inclination difference estimator 144)) for calculating the position and/or posture of the foot with deformation of the mechanism (estimated foot position and/or posture after deformation) in response to the floor reaction force acting from the floor in the walking environment using a mechanism compliance model 134 which models the compliance mechanism 42; and floor shape estimation value calculating means (ECU 26, composite compliance operation determinator 114, floor shape estimator 130, foot-to-foot floor inclination difference estimator 138 (in particular portions after that for calculating θfdberrv), and the foot floor inclination difference estimator 144 (in particular portions after that for calculating θf1 errx)) for calculating a floor shape estimation value indicative of shape of surface of the floor with which each foot is in contact (estimated n-th foot floor inclination (difference) θfnestm) and indicative of a relationships therebetween (estimated foot-to-foot floor inclination (difference) or estimated foot-to-foot floor height difference (error) θfdbestmv).

[0484] In the system, the compliance model comprises a first model (foot mechanism compliance model 134 b) which expresses the floor reaction force acting on each foot 22R(L) and a change of position and/or posture of each foot resulting from the floor reaction force acting on each foot, and a second model (foot-to-foot mechanism compliance model 134 a) which expresses the floor reaction force acting at a desired total floor reaction force central point and a change of one of the foot relative to the other resulting from the floor reaction force acting at the desired total floor reaction force central point.

[0485] In the system, the floor shape estimation value calculating means has a filter which removes a high-frequency component (portions for calculating θfdbestmv from θfdberrv in the foot-to-foot floor inclination difference estimator 138 and portions for calculating θf1 estm from θf1 err in the 1st foot floor inclination difference estimator 144).

[0486] The system further includes: correcting means (ECU 26, adder 132 (132 a, 132 b), corrected desired foot position and/or posture calculator 114 g) for correcting the desired position and/or posture of the foot based on the calculated floor shape estimation value.

[0487] The system further includes: gait generating means (ECU 26, gait generator 100, S10-S22) for generating a gait of the robot 1 including at least a motion pattern of the robot including at least the desired position and/or posture of the foot (desired body position and/or posture, desired foot position and/or posture) and a desired pattern of a total floor reaction force acting on the robot (desired total floor reaction force, desired total floor reaction force central point (desired ZMP)); desired foot floor reaction force central point determining means (ECU 26, desired floor reaction force distributor 102, S24, S26) for determining a desired foot floor reaction force which is a central point of action on the foot (desired foot floor reaction force central point) when the total floor reaction force of the generated gait is distributed to each of the foot; actual floor reaction force detecting means (ECU 26, force sensor 34, actual foot floor reaction force sensor 108, S32) for detecting an actual floor reaction force acting on the foot (actual foot floor reaction force); and foot rotation amount determining means (ECU 26, composite compliance operation determinator 114, feet compensating angle determinator 114 b, n-th foot compensating angle determinator 114 c, . . . , S32, S34, S100-S108) for calculating a moment of the detected actual floor reaction force acting about the calculated foot floor reaction force central point (actual n-th foot floor reaction force's moment Mactx, y, z), and for determining a foot rotation amount for rotating the foot (feet compensating angle θdbv, n-th foot compensating angle θnx, y) based on the calculated moment; wherein the correcting means includes: foot rotation amount correcting means (ECU 26, adder 132 (132 a, 132 b)) for correcting the foot rotation amount based on the calculated floor shape estimation value (feet compensating angle with floor shape estimation θdbv′, n-th foot compensating angle with floor shape estimation θnx′, y′); and foot position/posture correcting means (ECU 26, corrected desired foot position/posture calculator 114 g, S38, S40) for correcting the desired position and/or posture of the foot based on the corrected foot rotation amount such that the position/posture of the foot rotates.

[0488] The system further includes: gait generating means (ECU 26, gait generator 100, S10-S22) for generating gait of the robot 1 including at least a motion pattern of the robot including at least the desired position and/or posture of the foot 22R(L) (desired body position and/or posture, desired foot position and/or posture) and a desired pattern of a total floor reaction force acting on the robot (desired total floor reaction force, desired total floor reaction force's central point (desired ZMP)); desired foot floor reaction force central point determining means (ECU 26, desired foot reaction force distributor 102, S24, S26) for determining a desired foot floor reaction force which is a central point of action on the foot 22R(L) when the total floor reaction force of the generated gait is distributed to each of the foot (desired foot floor reaction force central point); actual floor reaction force detecting means (ECU 26, force sensor 34, actual foot floor reaction force sensor 108, S32) for detecting an actual floor reaction force acting on the foot (actual foot floor reaction force); and foot rotation amount determining means (ECU 26, composite compliance operation determinator 114, feet compensating angle determinator 114 b, n-th foot compensating angle determinator 114 c, . . . , S32, S34, S100-S108) for determining a foot rotation amount for rotating the foot (feet compensating angle θdbv, n-th foot compensating angle θnx,y) based on the detected actual floor reaction force; wherein the correcting means includes: foot rotation amount correcting means (ECU 26, adder 132 (132 a, 132 b)) for correcting the foot rotation amount based on the calculated floor shape estimation value (feet compensating angle with floor shape estimation θdbv′, n-th foot compensating angle with floor shape estimation θnx′,y′); and foot position/posture correcting means (ECU 26, corrected desired foot position/posture calculator 114 g, S38, S40) for correcting the desired position and/or posture of the foot based on the corrected foot rotation amounts such that the position and/or posture of the foot rotates about the determined foot floor reaction force central point (desired foot floor reaction force central point) or thereabout.

[0489] In the system, the foot position/posture correcting means corrects the desired position and/or posture of the foot based on the corrected foot rotation amounts such that the position and/or posture of the foot rotates about the determined foot floor reaction force central point or thereabout.

[0490] The system further includes: foot movement amount determining means (ECU 26, compensating total floor reaction force's moment distributor 114 a, feet compensating angle determinator 114, S100-S106) for calculating at least one of the total floor reaction force's moment actually acting on the robot (more precisely a moment component PQ1*F1act+PQ2*F2act+M1act+M2act), and a moment (Mf1f2act=PQ1*F1act+PQ2*F2act) obtained by subtracting the moment of the detected actual floor reaction force acting about the calculated foot floor reaction force central point (M1act+M2act), from the total floor reaction force's moment actually acting on the robot (PQ1*F1act+PQ2*F2act+M1act+M2act), and for determining a foot movement amount for moving the foot (θdbv) based on the calculated moment.

[0491] In the system, the foot position/posture correcting means further corrects the desired position and/or posture of the foot based on an posture error of the robot.

[0492] In the system, a compensating total floor reaction force's moment for posture stabilization (compensating total floor reaction force Mdmd) that is to be added to the desired pattern of the total floor reaction force is determined, and the foot rotation amount determining means and/or the foot movement amount determining means determines the foot rotation amount and/or the foot movement amount based on at least the detected actual floor reaction force (actual foot floor reaction force) and the determined compensating total floor reaction force's moment for posture stabilization (S34, S100-S108).

[0493] In the system, the compensating total floor reaction force's moment for posture stabilization is determined based on an inclination error of the robot (θerrx, y).

[0494] In the system, the foot rotation amount determining means and/or the foot movement amount determining means determines the foot rotation amount and/or the foot movement amount such that the determined compensating total floor reaction force's moment for posture stabilization is distributed to each of the legs (S34, S100-S108).

[0495] The system further includes: gait generating means (ECU 26, gait generator 100, S10-S22) for generating gait of the robot 1 including at least a motion pattern of the robot including at least the desired position and/or posture of the foot 22R(L) (desired body position and/or posture, desired foot position and/or posture) and a desired trajectory pattern of a total floor reaction force acting on the robot (desired total floor reaction force, desired total floor reaction force central point (desired ZMP)); compensating total floor reaction force calculating means (ECU 26, posture stabilization controller 104, S28, S30) for calculating a compensating total floor reaction force for posture stabilization (compensating total floor reaction force Mdmd); actual floor reaction force detecting means (force sensor 34, ECU 26, actual reaction force sensor 108, S32) for detecting an actual floor reaction force acting on the foot (actual foot floor reaction force); and floor reaction force distributing means (ECU 26, desired floor reaction force distributor 102, S34, S100-S104) for distributing the total floor reaction force of the generated gait and the compensating total floor reaction for; wherein the correcting means corrects the desired foot position and/or posture based on the distributed total floor reaction force of the generated gait and the compensating total floor reaction force, the detected actual floor reaction force and the calculated floor shape estimation value (ECU 26, compensating angle determinators 114 b, 114 c, adder 132 (132 a, 132 b), corrected desired foot position/posture calculator 114 g, corrected desired foot position/posture with deformation compensation calculator 114 h, deformation amount calculator 114 n).

[0496] In the system, the compensating total floor reaction force for posture stabilization is calculated based on an inclination error of the robot (θerrx,y).

[0497] In the first embodiment and the second embodiment, equivalent altering the order calculation may be made on the block diagrams illustrated.

[0498] In the first embodiment and the second embodiment, although the present invention has been described with reference to a biped robot, the. present invention should not be limited to that and can be applied to other legged mobile robots.

INDUSTRIAL FIELD IN WHICH THE INVENTION IS APPLICABLE

[0499] According to the present invention, it becomes possible to provide a floor shape estimation system of a legged mobile robot which can accurately estimate the inclination of a surface with which the robot foot is in contact and a height difference between surfaces with which the robot feet are in contact, at the same time, i.e., in a composite manner. Such a simultaneous estimation has been difficult in the prior art. In addition, the system is simple in configuration.

[0500] Further, in addition to the effects, it becomes possible to provide a floor shape estimation system for a legged mobile robot which can bring the steady-state error of the actual floor reaction force from a desired value in the control (which the prior art composite control could not eliminate), close to zero as much as possible. In other words, it can solve the steady-state error due to a deviation of the floor reaction force. 

1. A system for controlling a legged mobile robot having at least a body and a plurality of legs each connected to the body through a first joint and having a foot connected to its distal end through a second joint, the system having a compliance mechanism which deforms in response to a floor reaction force acting from a floor with which the foot is in contact and joint displacement means which displacing the first and second joints such that the foot follows a desired position and/or posture, comprising: a. inclination detection means for detecting an inclination of the body relative to a vertical direction; b. walking environment foot position and/or posture calculating means for calculating a position and/or posture of the foot in a walking environment including the floor with which the foot is in contact, based on an actual and/or desired position and/or posture of the foot and the detected inclination; c. deformed foot position/posture calculating means for calculating the position and/or posture of the foot with deformation of the mechanism in response to the floor reaction force acting from the floor in the walking environment using a mechanism compliance model which models the compliance mechanism; and d. floor shape estimation value calculating means for calculating a floor shape estimation value indicative of shape of surface of the floor with which each foot is in contact and indicative of a relationships therebetween.
 2. A system according to claim 1, wherein the compliance model comprises a first model which expresses the floor reaction force acting on each foot and a change of position and/or posture of each foot resulting from the floor reaction force acting on each foot, and a second model which expresses the floor reaction force acting at a desired total floor reaction force central point and a change of one of the foot relative to the other resulting from the floor reaction force acting at the desired total floor reaction force central point.
 3. A system according to claim 1 or 2, wherein the floor shape estimation value calculating means has a filter which removes a high-frequency component.
 4. A system according to any of claims 1 to 3, further including: e. correcting means for correcting the desired position and/or posture of the foot based on the calculated floor shape estimation value.
 5. A system according to claim 4, further including: f. gait generating means for generating a gait of the robot including at least a motion pattern of the robot including at least the desired position and/or posture of the foot and a desired pattern of a total floor reaction force acting on the robot; g. desired foot floor reaction force central point determining means for determining a desired foot floor reaction force which is a central point of action on the foot when the total floor reaction force of the generated gait is distributed to each of the foot; h. actual floor reaction force detecting means for detecting an actual floor reaction force acting on the foot; and i. foot rotation amount determining means for calculating a moment of the detected actual floor reaction force acting about the calculated foot floor reaction force central point, and for determining a foot rotation amount for rotating the foot based on the calculated moment; wherein the correcting means includes: j. foot rotation amount correcting means for correcting the foot rotation amount based on the calculated floor shape estimation value; and k. foot position/posture correcting means for correcting the desired position and/or posture of the foot based on the corrected foot rotation amount such that the position/posture of the foot rotates.
 6. A system according to claim 4, further including: l. gait generating means for generating gait of the robot including at least a motion pattern of the robot including at least the desired position and/or posture of the foot and a desired pattern of a total floor reaction force acting on the robot; m. desired foot floor reaction force central point determining means for determining a desired foot floor reaction force which is a central point of action on the foot when the total floor reaction force of the generated gait is distributed to each of the foot; n. actual floor reaction force detecting means for detecting an actual floor reaction force acting on the foot; and o. foot rotation amount determining means for determining a foot rotation amount for rotating the foot based on the detected actual floor reaction force; wherein the correcting means includes: p. foot rotation amount correcting means for correcting the foot rotation amount based on the calculated floor shape estimation value; and q. foot position/posture correcting means for correcting the desired position and/or posture of the foot based on the corrected foot rotation amounts such that the position and/or posture of the foot rotates about the determined foot floor reaction force central point or thereabout.
 7. A system according to claim 5, wherein the foot position/posture correcting means corrects the desired position and/or posture of the foot based on the corrected foot rotation amounts such that the position and/or posture of the foot rotates about the determined foot floor reaction force central point or thereabout.
 8. A system according to any of claims 5 to 7, further including: r. foot movement amount determining means for calculating at least one of the total floor reaction force's moment actually acting on the robot, and a moment obtained by subtracting the moment of the detected actual floor reaction force acting about the calculated foot floor reaction force central point, from the total floor reaction force's moment actually acting on the robot, and for determining a foot movement amount for moving the foot based on the calculated moment.
 9. A system according to any of claims 5 to 8, wherein the foot position/posture correcting means further corrects the desired position and/or posture of the foot based on an posture error of the robot.
 10. A system according to any of claims 5 to 9, wherein a compensating total floor reaction force's moment for posture stabilization that is to be added to the desired pattern of the total floor reaction force is determined, and the foot rotation amount determining means and/or the foot movement amount determining means determines the foot rotation amount and/or the foot movement amount based on at least the detected actual floor reaction force and the determined compensating total floor reaction force's moment for posture stabilization.
 11. A system according to claim 10, wherein the compensating total floor reaction force's moment for posture stabilization is determined based on an inclination error of the robot.
 12. A system according to claim 10 or 11, wherein the foot rotation amount determining means and/or the foot movement amount determining means determines the foot rotation amount and/or the foot movement amount such that the determined compensating total floor reaction force's moment for posture stabilization is distributed to each of the legs.
 13. A system according to claim 4, further including: s. gait generating means for generating gait of the robot including at least a motion pattern of the robot including at least the desired position and/or posture of the foot and a desired trajectory pattern of a total floor reaction force acting on the robot; t. compensating total floor reaction force calculating means for calculating a compensating total floor reaction force for posture stabilization; u. actual floor reaction force detecting means for detecting an actual floor reaction force acting on the foot; and v. floor reaction force distributing means for distributing the total floor reaction force of the generated gait and the compensating total floor reaction force; wherein the correcting means corrects the desired foot position and/or posture based on the distributed total floor reaction force of the generated gait and the compensating total floor reaction force, the detected actual floor reaction force and the calculated floor shape estimation value.
 14. A system according to claim 13, wherein the compensating total floor reaction force for posture stabilization is calculated based on an inclination error of the robot. 